bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) __ __ / \ / \ ______ _ _ __ __ __ / /\ / /\ \ / __ \ | | | | / \ \ \ / / / / / / \ \ | | | | | | | | / /\ \ \ / \ \ \ \ / / | |__| | | |__| | / ____ \ | | \ \/ \ \/ / \_ ___/ \____/ /_/ \_\ |_| \__/ \__/ \ \__ \___\ by Red Hat Build, Store, and Distribute your Containers Startup timestamp: Fri Sep 26 08:31:48 UTC 2025 Running all default registry services without migration Running init script '/quay-registry/conf/init/certs_install.sh' /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) Installing extra certificates found in /quay-registry/conf/stack/extra_ca_certs directory /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) Running init script '/quay-registry/conf/init/client_certs.sh' /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) Running init script '/quay-registry/conf/init/copy_config_files.sh' /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) Running init script '/quay-registry/conf/init/d_validate_config_bundle.sh' /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) Validating Configuration time="2025-09-26T08:31:49Z" level=debug msg="Validating AccessSettings" time="2025-09-26T08:31:49Z" level=debug msg="Validating ActionLogArchiving" time="2025-09-26T08:31:49Z" level=debug msg="Validating AppTokenAuthentication" time="2025-09-26T08:31:49Z" level=debug msg="Validating AutoPrune" time="2025-09-26T08:31:49Z" level=debug msg="Validating BitbucketBuildTrigger" time="2025-09-26T08:31:49Z" level=debug msg="Validating BuildManager" time="2025-09-26T08:31:49Z" level=debug msg="Validating Database" time="2025-09-26T08:31:49Z" level=debug msg="Scheme: postgresql" time="2025-09-26T08:31:49Z" level=debug msg="Host: quayregistry-quay-database:5432" time="2025-09-26T08:31:49Z" level=debug msg="Db: quayregistry-quay-database" time="2025-09-26T08:31:49Z" level=debug msg="Params: " time="2025-09-26T08:31:49Z" level=debug msg="Including params " time="2025-09-26T08:31:49Z" level=debug msg="Pinging database at hostname: quayregistry-quay-database:5432." time="2025-09-26T08:31:49Z" level=debug msg="Database version: 13.22" plpgsql pg_trgm time="2025-09-26T08:31:49Z" level=debug msg="Validating DistributedStorage" time="2025-09-26T08:31:49Z" level=debug msg="Using IBM Cloud/ODF/RadosGW storage." time="2025-09-26T08:31:49Z" level=debug msg="Storage parameters: " time="2025-09-26T08:31:49Z" level=debug msg="hostname: s3.openshift-storage.svc.cluster.local:443, bucket name: quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084, TLS enabled: true" time="2025-09-26T08:31:49Z" level=debug msg="Validating ElasticSearch" time="2025-09-26T08:31:49Z" level=debug msg="Validating Email" time="2025-09-26T08:31:49Z" level=debug msg="Validating GitHubBuildTrigger" time="2025-09-26T08:31:49Z" level=debug msg="Validating GitHubLogin" time="2025-09-26T08:31:49Z" level=debug msg="Validating GitLabBuildTrigger" time="2025-09-26T08:31:49Z" level=debug msg="Validating GoogleLogin" time="2025-09-26T08:31:49Z" level=debug msg="Validating HostSettings" time="2025-09-26T08:31:49Z" level=debug msg="Validating JWTAuthentication" time="2025-09-26T08:31:49Z" level=debug msg="Validating LDAP" time="2025-09-26T08:31:49Z" level=debug msg="Validating OIDC" time="2025-09-26T08:31:49Z" level=debug msg="Validating QuayDocumentation" time="2025-09-26T08:31:49Z" level=debug msg="Validating Redis" time="2025-09-26T08:31:49Z" level=debug msg="Address: quayregistry-quay-redis:6379" time="2025-09-26T08:31:49Z" level=debug msg="Username: " time="2025-09-26T08:31:49Z" level=debug msg="Password Len: 0" time="2025-09-26T08:31:49Z" level=debug msg="Ssl: " time="2025-09-26T08:31:49Z" level=debug msg="Address: quayregistry-quay-redis:6379" time="2025-09-26T08:31:49Z" level=debug msg="Username: " time="2025-09-26T08:31:49Z" level=debug msg="Password Len: 0" time="2025-09-26T08:31:49Z" level=debug msg="Ssl: " time="2025-09-26T08:31:49Z" level=debug msg="Validating RepoMirror" time="2025-09-26T08:31:49Z" level=debug msg="Validating SecurityScanner" time="2025-09-26T08:31:49Z" level=debug msg="Validating TeamSyncing" time="2025-09-26T08:31:49Z" level=debug msg="Validating TimeMachine" time="2025-09-26T08:31:49Z" level=debug msg="Validating UserVisibleSettings" +------------------------+-------+--------+ | Field Group | Error | Status | +------------------------+-------+--------+ | AccessSettings | - | 🟢 | +------------------------+-------+--------+ | ActionLogArchiving | - | 🟢 | +------------------------+-------+--------+ | AppTokenAuthentication | - | 🟢 | +------------------------+-------+--------+ | AutoPrune | - | 🟢 | +------------------------+-------+--------+ | BitbucketBuildTrigger | - | 🟢 | +------------------------+-------+--------+ | BuildManager | - | 🟢 | +------------------------+-------+--------+ | Database | - | 🟢 | +------------------------+-------+--------+ | DistributedStorage | - | 🟢 | +------------------------+-------+--------+ | ElasticSearch | - | 🟢 | +------------------------+-------+--------+ | Email | - | 🟢 | +------------------------+-------+--------+ | GitHubBuildTrigger | - | 🟢 | +------------------------+-------+--------+ | GitHubLogin | - | 🟢 | +------------------------+-------+--------+ | GitLabBuildTrigger | - | 🟢 | +------------------------+-------+--------+ | GoogleLogin | - | 🟢 | +------------------------+-------+--------+ | HostSettings | - | 🟢 | +------------------------+-------+--------+ | JWTAuthentication | - | 🟢 | +------------------------+-------+--------+ | LDAP | - | 🟢 | +------------------------+-------+--------+ | OIDC | - | 🟢 | +------------------------+-------+--------+ | QuayDocumentation | - | 🟢 | +------------------------+-------+--------+ | Redis | - | 🟢 | +------------------------+-------+--------+ | RepoMirror | - | 🟢 | +------------------------+-------+--------+ | SecurityScanner | - | 🟢 | +------------------------+-------+--------+ | TeamSyncing | - | 🟢 | +------------------------+-------+--------+ | TimeMachine | - | 🟢 | +------------------------+-------+--------+ | UserVisibleSettings | - | 🟢 | +------------------------+-------+--------+ Running init script '/quay-registry/conf/init/nginx_conf_create.sh' /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) Running init script '/quay-registry/conf/init/supervisord_conf_create.sh' /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) Running init script '/quay-registry/conf/init/zz_boot.sh' /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' return re.sub('[^\w]+', '_', self.name) /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') /quay-registry/boot.py:76: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). expiration = datetime.utcnow() + timedelta(minutes=minutes_until_expiration) 2025-09-26 08:31:53,627 INFO RPC interface 'supervisor' initialized 2025-09-26 08:31:53,627 CRIT Server 'unix_http_server' running without any HTTP authentication checking 2025-09-26 08:31:53,628 INFO supervisord started with pid 2 2025-09-26 08:31:54,630 INFO spawned: 'stdout' with pid 48 2025-09-26 08:31:54,632 INFO spawned: 'autopruneworker' with pid 49 2025-09-26 08:31:54,634 INFO spawned: 'blobuploadcleanupworker' with pid 50 2025-09-26 08:31:54,636 INFO spawned: 'builder' with pid 51 2025-09-26 08:31:54,638 INFO spawned: 'buildlogsarchiver' with pid 52 2025-09-26 08:31:54,641 INFO spawned: 'chunkcleanupworker' with pid 53 2025-09-26 08:31:54,643 INFO spawned: 'dnsmasq' with pid 54 2025-09-26 08:31:54,645 INFO spawned: 'expiredappspecifictokenworker' with pid 55 2025-09-26 08:31:54,647 INFO spawned: 'exportactionlogsworker' with pid 56 2025-09-26 08:31:54,649 INFO spawned: 'gcworker' with pid 57 2025-09-26 08:31:54,651 INFO spawned: 'globalpromstats' with pid 58 2025-09-26 08:31:54,655 INFO spawned: 'gunicorn-registry' with pid 59 2025-09-26 08:31:54,657 INFO spawned: 'gunicorn-secscan' with pid 60 2025-09-26 08:31:54,660 INFO spawned: 'gunicorn-web' with pid 61 2025-09-26 08:31:54,662 INFO spawned: 'logrotateworker' with pid 62 2025-09-26 08:31:54,664 INFO spawned: 'manifestbackfillworker' with pid 63 2025-09-26 08:31:54,734 INFO spawned: 'manifestsubjectbackfillworker' with pid 64 2025-09-26 08:31:54,736 INFO spawned: 'memcache' with pid 65 2025-09-26 08:31:54,739 INFO spawned: 'namespacegcworker' with pid 66 2025-09-26 08:31:54,741 INFO spawned: 'nginx' with pid 67 2025-09-26 08:31:54,744 INFO spawned: 'notificationworker' with pid 68 2025-09-26 08:31:54,754 INFO spawned: 'proxycacheblobworker' with pid 69 2025-09-26 08:31:54,756 INFO spawned: 'pushgateway' with pid 70 2025-09-26 08:31:54,836 INFO spawned: 'queuecleanupworker' with pid 71 2025-09-26 08:31:54,847 INFO spawned: 'quotaregistrysizeworker' with pid 72 2025-09-26 08:31:54,859 INFO spawned: 'quotatotalworker' with pid 78 2025-09-26 08:31:54,861 INFO spawned: 'reconciliationworker' with pid 79 2025-09-26 08:31:54,940 INFO spawned: 'repositoryactioncounter' with pid 80 2025-09-26 08:31:54,948 INFO spawned: 'repositorygcworker' with pid 86 2025-09-26 08:31:54,954 INFO spawned: 'securityscanningnotificationworker' with pid 88 2025-09-26 08:31:54,957 INFO spawned: 'securityworker' with pid 89 2025-09-26 08:31:55,039 INFO spawned: 'servicekey' with pid 93 2025-09-26 08:31:55,047 INFO spawned: 'storagereplication' with pid 95 2025-09-26 08:31:55,060 INFO spawned: 'teamsyncworker' with pid 105 2025-09-26 08:31:56,243 INFO success: stdout entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: autopruneworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: blobuploadcleanupworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: builder entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: buildlogsarchiver entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: chunkcleanupworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: dnsmasq entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: expiredappspecifictokenworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: exportactionlogsworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: gcworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: globalpromstats entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: gunicorn-registry entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: gunicorn-secscan entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: gunicorn-web entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: logrotateworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: manifestbackfillworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: manifestsubjectbackfillworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: memcache entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: namespacegcworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: notificationworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: proxycacheblobworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: pushgateway entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,243 INFO success: queuecleanupworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,244 INFO success: quotaregistrysizeworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,244 INFO success: quotatotalworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,244 INFO success: reconciliationworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,244 INFO success: repositoryactioncounter entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,244 INFO success: repositorygcworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,244 INFO success: securityscanningnotificationworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,244 INFO success: securityworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,244 INFO success: servicekey entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,244 INFO success: storagereplication entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2025-09-26 08:31:56,244 INFO success: teamsyncworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) dnsmasq stderr | dnsmasq: started, version 2.79 cachesize 150 dnsmasq stderr | dnsmasq: compile time options: IPv6 GNU-getopt DBus no-i18n IDN2 DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth DNSSEC loop-detect inotify dnsmasq stderr | dnsmasq: reading /etc/resolv.conf dnsmasq stderr | dnsmasq: using nameserver 172.30.0.10#53 dnsmasq stderr | dnsmasq: read /etc/hosts - 7 addresses pushgateway stderr | ts=2025-09-26T08:31:55.041Z level=info caller=main.go:82 msg="starting pushgateway" version="(version=, branch=, revision=unknown)" pushgateway stderr | ts=2025-09-26T08:31:55.041Z level=info caller=main.go:83 msg="Build context" build_context="(go=go1.24.6 (Red Hat 1.24.6-1.module+el8.10.0+23407+428597c7) X:strictfipsruntime, platform=linux/amd64, user=, date=, tags=strictfipsruntime)" pushgateway stderr | ts=2025-09-26T08:31:55.043Z level=info caller=tls_config.go:347 msg="Listening on" address=[::]:9091 pushgateway stderr | ts=2025-09-26T08:31:55.043Z level=info caller=tls_config.go:350 msg="TLS is disabled." http2=false address=[::]:9091 nginx stdout | 2025/09/26 08:31:54 [alert] 98#0: setpriority(-10) failed (13: Permission denied) nginx stdout | 2025/09/26 08:31:54 [alert] 97#0: setpriority(-10) failed (13: Permission denied) nginx stdout | 2025/09/26 08:31:54 [alert] 99#0: setpriority(-10) failed (13: Permission denied) nginx stdout | 2025/09/26 08:31:54 [alert] 100#0: setpriority(-10) failed (13: Permission denied) nginx stdout | 2025/09/26 08:31:54 [alert] 101#0: setpriority(-10) failed (13: Permission denied) nginx stdout | 2025/09/26 08:31:54 [alert] 102#0: setpriority(-10) failed (13: Permission denied) nginx stdout | 2025/09/26 08:31:54 [alert] 103#0: setpriority(-10) failed (13: Permission denied) nginx stdout | 2025/09/26 08:31:54 [alert] 104#0: setpriority(-10) failed (13: Permission denied) manifestsubjectbackfillworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' manifestsubjectbackfillworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) manifestbackfillworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' manifestbackfillworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) manifestsubjectbackfillworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' manifestsubjectbackfillworker stderr | return re.sub('[^\w]+', '_', self.name) quotatotalworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' quotatotalworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) quotatotalworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' quotatotalworker stderr | return re.sub('[^\w]+', '_', self.name) manifestbackfillworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' manifestbackfillworker stderr | return re.sub('[^\w]+', '_', self.name) exportactionlogsworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' exportactionlogsworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) exportactionlogsworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' exportactionlogsworker stderr | return re.sub('[^\w]+', '_', self.name) nginx stdout | 2025/09/26 08:32:02 [crit] 98#0: *1 connect() to unix:/tmp/gunicorn_web.sock failed (2: No such file or directory) while connecting to upstream, client: 10.131.2.2, server: , request: "GET /health/instance HTTP/1.1", upstream: "http://unix:/tmp/gunicorn_web.sock:/health/instance", host: "10.131.2.27:8080" nginx stdout | 2025/09/26 08:32:02 [crit] 98#0: *1 connect() to unix:/tmp/gunicorn_web.sock failed (2: No such file or directory) while connecting to upstream, client: 10.131.2.2, server: , request: "GET /health/instance HTTP/1.1", upstream: "http://unix:/tmp/gunicorn_web.sock:/quay-registry/static/502.html", host: "10.131.2.27:8080" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:32:02 +0000] "GET /health/instance HTTP/1.1" 502 157 "-" "kube-probe/1.32" (0.000 118 0.000 : 0.000) buildlogsarchiver stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' buildlogsarchiver stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) exportactionlogsworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' exportactionlogsworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') expiredappspecifictokenworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' expiredappspecifictokenworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) buildlogsarchiver stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' buildlogsarchiver stderr | return re.sub('[^\w]+', '_', self.name) expiredappspecifictokenworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' expiredappspecifictokenworker stderr | return re.sub('[^\w]+', '_', self.name) buildlogsarchiver stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' buildlogsarchiver stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') repositorygcworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' repositorygcworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) expiredappspecifictokenworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' expiredappspecifictokenworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') autopruneworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' autopruneworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) autopruneworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' autopruneworker stderr | return re.sub('[^\w]+', '_', self.name) repositorygcworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' repositorygcworker stderr | return re.sub('[^\w]+', '_', self.name) autopruneworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' autopruneworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') repositoryactioncounter stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' repositoryactioncounter stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) securityworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' securityworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) repositoryactioncounter stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' repositoryactioncounter stderr | return re.sub('[^\w]+', '_', self.name) securityworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' securityworker stderr | return re.sub('[^\w]+', '_', self.name) repositoryactioncounter stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' repositoryactioncounter stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') repositorygcworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' repositorygcworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') securityworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' securityworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') notificationworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' notificationworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) queuecleanupworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' queuecleanupworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) notificationworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' notificationworker stderr | return re.sub('[^\w]+', '_', self.name) queuecleanupworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' queuecleanupworker stderr | return re.sub('[^\w]+', '_', self.name) chunkcleanupworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' chunkcleanupworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) proxycacheblobworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' proxycacheblobworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) chunkcleanupworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' chunkcleanupworker stderr | return re.sub('[^\w]+', '_', self.name) gcworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' gcworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) builder stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' builder stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) namespacegcworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' namespacegcworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) reconciliationworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' reconciliationworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) teamsyncworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' teamsyncworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) proxycacheblobworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' proxycacheblobworker stderr | return re.sub('[^\w]+', '_', self.name) builder stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' builder stderr | return re.sub('[^\w]+', '_', self.name) namespacegcworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' namespacegcworker stderr | return re.sub('[^\w]+', '_', self.name) storagereplication stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' storagereplication stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) servicekey stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' servicekey stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) gcworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' gcworker stderr | return re.sub('[^\w]+', '_', self.name) globalpromstats stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' globalpromstats stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) quotaregistrysizeworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' quotaregistrysizeworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) teamsyncworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' teamsyncworker stderr | return re.sub('[^\w]+', '_', self.name) servicekey stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' servicekey stderr | return re.sub('[^\w]+', '_', self.name) reconciliationworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' reconciliationworker stderr | return re.sub('[^\w]+', '_', self.name) storagereplication stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' storagereplication stderr | return re.sub('[^\w]+', '_', self.name) chunkcleanupworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' chunkcleanupworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') globalpromstats stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' globalpromstats stderr | return re.sub('[^\w]+', '_', self.name) manifestsubjectbackfillworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' manifestsubjectbackfillworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') quotaregistrysizeworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' quotaregistrysizeworker stderr | return re.sub('[^\w]+', '_', self.name) blobuploadcleanupworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' blobuploadcleanupworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) logrotateworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' logrotateworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) securityscanningnotificationworker stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' securityscanningnotificationworker stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) blobuploadcleanupworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' blobuploadcleanupworker stderr | return re.sub('[^\w]+', '_', self.name) securityscanningnotificationworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' securityscanningnotificationworker stderr | return re.sub('[^\w]+', '_', self.name) logrotateworker stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' logrotateworker stderr | return re.sub('[^\w]+', '_', self.name) servicekey stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' servicekey stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') gunicorn-web stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' gunicorn-web stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) queuecleanupworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' queuecleanupworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') gunicorn-web stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' gunicorn-web stderr | return re.sub('[^\w]+', '_', self.name) teamsyncworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' teamsyncworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') reconciliationworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' reconciliationworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') quotatotalworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' quotatotalworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') notificationworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' notificationworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') namespacegcworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' namespacegcworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') manifestbackfillworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' manifestbackfillworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') builder stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' builder stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') gunicorn-web stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' gunicorn-web stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') gcworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' gcworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') proxycacheblobworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' proxycacheblobworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') storagereplication stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' storagereplication stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') globalpromstats stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' globalpromstats stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') quotaregistrysizeworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' quotaregistrysizeworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') nginx stdout | 2025/09/26 08:32:17 [crit] 97#0: *4 connect() to unix:/tmp/gunicorn_web.sock failed (2: No such file or directory) while connecting to upstream, client: 10.131.2.2, server: , request: "GET /health/instance HTTP/1.1", upstream: "http://unix:/tmp/gunicorn_web.sock:/health/instance", host: "10.131.2.27:8080" nginx stdout | 2025/09/26 08:32:17 [crit] 97#0: *4 connect() to unix:/tmp/gunicorn_web.sock failed (2: No such file or directory) while connecting to upstream, client: 10.131.2.2, server: , request: "GET /health/instance HTTP/1.1", upstream: "http://unix:/tmp/gunicorn_web.sock:/quay-registry/static/502.html", host: "10.131.2.27:8080" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:32:17 +0000] "GET /health/instance HTTP/1.1" 502 157 "-" "kube-probe/1.32" (0.000 118 0.000 : 0.000) logrotateworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' logrotateworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') blobuploadcleanupworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' blobuploadcleanupworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') securityscanningnotificationworker stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' securityscanningnotificationworker stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') gunicorn-secscan stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' gunicorn-secscan stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) gunicorn-secscan stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' gunicorn-secscan stderr | return re.sub('[^\w]+', '_', self.name) gunicorn-secscan stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' gunicorn-secscan stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') nginx stdout | 2025/09/26 08:32:32 [crit] 102#0: *7 connect() to unix:/tmp/gunicorn_web.sock failed (2: No such file or directory) while connecting to upstream, client: 10.131.2.2, server: , request: "GET /health/instance HTTP/1.1", upstream: "http://unix:/tmp/gunicorn_web.sock:/health/instance", host: "10.131.2.27:8080" nginx stdout | 2025/09/26 08:32:32 [crit] 102#0: *7 connect() to unix:/tmp/gunicorn_web.sock failed (2: No such file or directory) while connecting to upstream, client: 10.131.2.2, server: , request: "GET /health/instance HTTP/1.1", upstream: "http://unix:/tmp/gunicorn_web.sock:/quay-registry/static/502.html", host: "10.131.2.27:8080" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:32:32 +0000] "GET /health/instance HTTP/1.1" 502 157 "-" "kube-probe/1.32" (0.000 118 0.000 : 0.000) proxycacheblobworker stdout | 2025-09-26 08:32:41,159 [69] [DEBUG] [__main__] Starting proxy cache blob worker proxycacheblobworker stdout | 2025-09-26 08:32:41,161 [69] [DEBUG] [workers.worker] Scheduling worker. proxycacheblobworker stdout | 2025-09-26 08:32:41,162 [69] [INFO] [apscheduler.scheduler] Scheduler started proxycacheblobworker stdout | 2025-09-26 08:32:41,544 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:32:41,544 [69] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:32:43.545186 proxycacheblobworker stdout | 2025-09-26 08:32:41,546 [69] [INFO] [apscheduler.scheduler] Added job "QueueWorker.poll_queue" to job store "default" proxycacheblobworker stdout | 2025-09-26 08:32:41,546 [69] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:47.547669 proxycacheblobworker stdout | 2025-09-26 08:32:41,546 [69] [INFO] [apscheduler.scheduler] Added job "QueueWorker.update_queue_metrics" to job store "default" proxycacheblobworker stdout | 2025-09-26 08:32:41,547 [69] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:13.548017 proxycacheblobworker stdout | 2025-09-26 08:32:41,547 [69] [INFO] [apscheduler.scheduler] Added job "QueueWorker.run_watchdog" to job store "default" proxycacheblobworker stdout | 2025-09-26 08:32:41,545 [69] [DEBUG] [apscheduler.scheduler] No jobs; waiting until a job is added proxycacheblobworker stdout | 2025-09-26 08:32:41,551 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:32:41,551 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:32:43.545186+00:00 (in 1.993885 seconds) autopruneworker stdout | 2025-09-26 08:32:41,652 [49] [DEBUG] [workers.worker] Scheduling worker. autopruneworker stdout | 2025-09-26 08:32:41,653 [49] [INFO] [apscheduler.scheduler] Scheduler started autopruneworker stdout | 2025-09-26 08:32:41,733 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:32:41,733 [49] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:04.734534 autopruneworker stdout | 2025-09-26 08:32:41,734 [49] [INFO] [apscheduler.scheduler] Added job "AutoPruneWorker.prune" to job store "default" autopruneworker stdout | 2025-09-26 08:32:41,734 [49] [DEBUG] [apscheduler.scheduler] No jobs; waiting until a job is added autopruneworker stdout | 2025-09-26 08:32:41,735 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:32:41,735 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:04.734534+00:00 (in 22.999411 seconds) manifestbackfillworker stdout | 2025-09-26 08:32:42,148 [63] [DEBUG] [workers.worker] Scheduling worker. manifestbackfillworker stdout | 2025-09-26 08:32:42,150 [63] [INFO] [apscheduler.scheduler] Scheduler started manifestbackfillworker stdout | 2025-09-26 08:32:42,340 [63] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestbackfillworker stdout | 2025-09-26 08:32:42,340 [63] [DEBUG] [apscheduler.scheduler] No jobs; waiting until a job is added manifestbackfillworker stdout | 2025-09-26 08:32:42,341 [63] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:35:28.342196 manifestbackfillworker stdout | 2025-09-26 08:32:42,342 [63] [INFO] [apscheduler.scheduler] Added job "ManifestBackfillWorker._backfill_manifests" to job store "default" manifestbackfillworker stdout | 2025-09-26 08:32:42,346 [63] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestbackfillworker stdout | 2025-09-26 08:32:42,347 [63] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:28.342196+00:00 (in 165.995187 seconds) proxycacheblobworker stdout | 2025-09-26 08:32:43,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:32:43,552 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:32:43 GMT)" (scheduled at 2025-09-26 08:32:43.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:32:43,552 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:32:53.545186+00:00 (in 9.992661 seconds) proxycacheblobworker stdout | 2025-09-26 08:32:43,553 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:32:43,556 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 32, 43, 555124), True, datetime.datetime(2025, 9, 26, 8, 32, 43, 555124), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:32:43,649 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:32:43,649 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:32:43,649 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:32:53 GMT)" executed successfully nginx stdout | 2025/09/26 08:32:47 [crit] 99#0: *10 connect() to unix:/tmp/gunicorn_web.sock failed (2: No such file or directory) while connecting to upstream, client: 10.131.2.2, server: , request: "GET /health/instance HTTP/1.1", upstream: "http://unix:/tmp/gunicorn_web.sock:/health/instance", host: "10.131.2.27:8080" nginx stdout | 2025/09/26 08:32:47 [crit] 99#0: *10 connect() to unix:/tmp/gunicorn_web.sock failed (2: No such file or directory) while connecting to upstream, client: 10.131.2.2, server: , request: "GET /health/instance HTTP/1.1", upstream: "http://unix:/tmp/gunicorn_web.sock:/quay-registry/static/502.html", host: "10.131.2.27:8080" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:32:47 +0000] "GET /health/instance HTTP/1.1" 502 157 "-" "kube-probe/1.32" (0.000 118 0.000 : 0.000) securityworker stdout | 2025-09-26 08:32:53,243 [89] [DEBUG] [workers.worker] Scheduling worker. securityworker stdout | 2025-09-26 08:32:53,262 [89] [INFO] [apscheduler.scheduler] Scheduler started securityworker stdout | 2025-09-26 08:32:53,333 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:32:53,333 [89] [DEBUG] [apscheduler.scheduler] No jobs; waiting until a job is added securityworker stdout | 2025-09-26 08:32:53,333 [89] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:19.334273 securityworker stdout | 2025-09-26 08:32:53,334 [89] [INFO] [apscheduler.scheduler] Added job "SecurityWorker._index_in_scanner" to job store "default" securityworker stdout | 2025-09-26 08:32:53,334 [89] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:32:57.335452 securityworker stdout | 2025-09-26 08:32:53,334 [89] [INFO] [apscheduler.scheduler] Added job "SecurityWorker._index_recent_manifests_in_scanner" to job store "default" securityworker stdout | 2025-09-26 08:32:53,334 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:32:53,334 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:32:57.335452+00:00 (in 4.000497 seconds) proxycacheblobworker stdout | 2025-09-26 08:32:53,555 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:32:53,556 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:03.545186+00:00 (in 9.988937 seconds) proxycacheblobworker stdout | 2025-09-26 08:32:53,556 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:03 GMT)" (scheduled at 2025-09-26 08:32:53.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:32:53,556 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:32:53,557 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 32, 53, 556688), True, datetime.datetime(2025, 9, 26, 8, 32, 53, 556688), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:32:53,733 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:32:53,734 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:32:53,735 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:03 GMT)" executed successfully logrotateworker stdout | 2025-09-26 08:32:53,752 [62] [DEBUG] [__main__] Action log rotation worker not enabled; skipping storagereplication stdout | 2025-09-26 08:32:54,364 [95] [DEBUG] [__main__] Full storage replication disabled; skipping exportactionlogsworker stdout | 2025-09-26 08:32:54,844 [56] [DEBUG] [__main__] Starting export action logs worker exportactionlogsworker stdout | 2025-09-26 08:32:54,857 [56] [DEBUG] [workers.worker] Scheduling worker. exportactionlogsworker stdout | 2025-09-26 08:32:54,859 [56] [INFO] [apscheduler.scheduler] Scheduler started exportactionlogsworker stdout | 2025-09-26 08:32:54,939 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:32:54,940 [56] [DEBUG] [apscheduler.scheduler] No jobs; waiting until a job is added exportactionlogsworker stdout | 2025-09-26 08:32:54,939 [56] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:50.940190 exportactionlogsworker stdout | 2025-09-26 08:32:54,942 [56] [INFO] [apscheduler.scheduler] Added job "QueueWorker.poll_queue" to job store "default" exportactionlogsworker stdout | 2025-09-26 08:32:54,944 [56] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:36:56.945132 exportactionlogsworker stdout | 2025-09-26 08:32:54,945 [56] [INFO] [apscheduler.scheduler] Added job "QueueWorker.update_queue_metrics" to job store "default" exportactionlogsworker stdout | 2025-09-26 08:32:54,946 [56] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:45.946993 exportactionlogsworker stdout | 2025-09-26 08:32:54,947 [56] [INFO] [apscheduler.scheduler] Added job "QueueWorker.run_watchdog" to job store "default" exportactionlogsworker stdout | 2025-09-26 08:32:54,948 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:32:54,948 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:45.946993+00:00 (in 50.998058 seconds) servicekey stdout | 2025-09-26 08:32:55,136 [93] [DEBUG] [workers.worker] Scheduling worker. servicekey stdout | 2025-09-26 08:32:55,138 [93] [INFO] [apscheduler.scheduler] Scheduler started servicekey stdout | 2025-09-26 08:32:55,139 [93] [DEBUG] [apscheduler.scheduler] Looking for jobs to run servicekey stdout | 2025-09-26 08:32:55,139 [93] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:47:10.140918 servicekey stdout | 2025-09-26 08:32:55,142 [93] [INFO] [apscheduler.scheduler] Added job "ServiceKeyWorker._refresh_service_key" to job store "default" servicekey stdout | 2025-09-26 08:32:55,141 [93] [DEBUG] [apscheduler.scheduler] No jobs; waiting until a job is added servicekey stdout | 2025-09-26 08:32:55,144 [93] [DEBUG] [apscheduler.scheduler] Looking for jobs to run servicekey stdout | 2025-09-26 08:32:55,145 [93] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:47:10.140918+00:00 (in 854.995733 seconds) buildlogsarchiver stdout | 2025-09-26 08:32:55,338 [52] [DEBUG] [workers.worker] Scheduling worker. buildlogsarchiver stdout | 2025-09-26 08:32:55,338 [52] [INFO] [apscheduler.scheduler] Scheduler started buildlogsarchiver stdout | 2025-09-26 08:32:55,346 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:32:55,346 [52] [DEBUG] [apscheduler.scheduler] No jobs; waiting until a job is added gunicorn-secscan stdout | 2025-09-26 08:32:55,347 [60] [DEBUG] [app] Loading default config. gunicorn-secscan stdout | 2025-09-26 08:32:55,347 [60] [DEBUG] [util.config.provider.basefileprovider] Applying config file: /quay-registry/conf/stack/config.yaml buildlogsarchiver stdout | 2025-09-26 08:32:55,350 [52] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:09.351551 buildlogsarchiver stdout | 2025-09-26 08:32:55,351 [52] [INFO] [apscheduler.scheduler] Added job "ArchiveBuildLogsWorker._archive_redis_buildlogs" to job store "default" buildlogsarchiver stdout | 2025-09-26 08:32:55,351 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:32:55,351 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:09.351551+00:00 (in 13.999659 seconds) gunicorn-secscan stdout | 2025-09-26 08:32:55,455 [60] [DEBUG] [app] Loaded config gunicorn-secscan stdout | 2025-09-26 08:32:55,457 [60] [INFO] [util.ipresolver] Loading AWS IP ranges from disk gunicorn-secscan stdout | 2025-09-26 08:32:55,642 [60] [DEBUG] [util.ipresolver] Building AWS IP ranges gunicorn-web stdout | 2025-09-26 08:32:56,147 [61] [DEBUG] [app] Loading default config. gunicorn-web stdout | 2025-09-26 08:32:56,158 [61] [DEBUG] [util.config.provider.basefileprovider] Applying config file: /quay-registry/conf/stack/config.yaml securityscanningnotificationworker stdout | 2025-09-26 08:32:56,234 [88] [DEBUG] [__main__] Starting security scanning notification worker securityscanningnotificationworker stdout | 2025-09-26 08:32:56,238 [88] [DEBUG] [workers.worker] Scheduling worker. securityscanningnotificationworker stdout | 2025-09-26 08:32:56,239 [88] [INFO] [apscheduler.scheduler] Scheduler started securityscanningnotificationworker stdout | 2025-09-26 08:32:56,241 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:32:56,241 [88] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:42.242482 securityscanningnotificationworker stdout | 2025-09-26 08:32:56,243 [88] [INFO] [apscheduler.scheduler] Added job "QueueWorker.poll_queue" to job store "default" securityscanningnotificationworker stdout | 2025-09-26 08:32:56,243 [88] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:35:56.244910 securityscanningnotificationworker stdout | 2025-09-26 08:32:56,244 [88] [INFO] [apscheduler.scheduler] Added job "QueueWorker.update_queue_metrics" to job store "default" securityscanningnotificationworker stdout | 2025-09-26 08:32:56,244 [88] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:22.245238 securityscanningnotificationworker stdout | 2025-09-26 08:32:56,244 [88] [INFO] [apscheduler.scheduler] Added job "QueueWorker.run_watchdog" to job store "default" securityscanningnotificationworker stdout | 2025-09-26 08:32:56,242 [88] [DEBUG] [apscheduler.scheduler] No jobs; waiting until a job is added securityscanningnotificationworker stdout | 2025-09-26 08:32:56,246 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:32:56,247 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:22.245238+00:00 (in 25.997495 seconds) gunicorn-web stdout | 2025-09-26 08:32:56,261 [61] [DEBUG] [app] Loaded config gunicorn-web stdout | 2025-09-26 08:32:56,343 [61] [INFO] [util.ipresolver] Loading AWS IP ranges from disk gunicorn-secscan stdout | 2025-09-26 08:32:56,352 [60] [DEBUG] [util.ipresolver] Finished building AWS IP ranges gunicorn-secscan stdout | 2025-09-26 08:32:56,357 [60] [DEBUG] [botocore.hooks] Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane gunicorn-secscan stdout | 2025-09-26 08:32:56,360 [60] [DEBUG] [botocore.hooks] Changing event name from before-call.apigateway to before-call.api-gateway gunicorn-secscan stdout | 2025-09-26 08:32:56,362 [60] [DEBUG] [botocore.hooks] Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict gunicorn-secscan stdout | 2025-09-26 08:32:56,436 [60] [DEBUG] [botocore.hooks] Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration gunicorn-secscan stdout | 2025-09-26 08:32:56,437 [60] [DEBUG] [botocore.hooks] Changing event name from before-parameter-build.route53 to before-parameter-build.route-53 gunicorn-secscan stdout | 2025-09-26 08:32:56,439 [60] [DEBUG] [botocore.hooks] Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search gunicorn-secscan stdout | 2025-09-26 08:32:56,441 [60] [DEBUG] [botocore.hooks] Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section gunicorn-secscan stdout | 2025-09-26 08:32:56,446 [60] [DEBUG] [botocore.hooks] Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask gunicorn-secscan stdout | 2025-09-26 08:32:56,448 [60] [DEBUG] [botocore.hooks] Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section gunicorn-secscan stdout | 2025-09-26 08:32:56,449 [60] [DEBUG] [botocore.hooks] Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search gunicorn-secscan stdout | 2025-09-26 08:32:56,450 [60] [DEBUG] [botocore.hooks] Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section gunicorn-web stdout | 2025-09-26 08:32:56,554 [61] [DEBUG] [util.ipresolver] Building AWS IP ranges manifestsubjectbackfillworker stdout | 2025-09-26 08:32:56,741 [64] [DEBUG] [workers.worker] Scheduling worker. manifestsubjectbackfillworker stdout | 2025-09-26 08:32:56,742 [64] [INFO] [apscheduler.scheduler] Scheduler started manifestsubjectbackfillworker stdout | 2025-09-26 08:32:56,750 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:32:56,750 [64] [DEBUG] [apscheduler.scheduler] No jobs; waiting until a job is added manifestsubjectbackfillworker stdout | 2025-09-26 08:32:56,756 [64] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:13.757911 manifestsubjectbackfillworker stdout | 2025-09-26 08:32:56,758 [64] [INFO] [apscheduler.scheduler] Added job "ManifestSubjectBackfillWorker._backfill_manifest_subject" to job store "default" manifestsubjectbackfillworker stdout | 2025-09-26 08:32:56,759 [64] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:13.760217 manifestsubjectbackfillworker stdout | 2025-09-26 08:32:56,759 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gunicorn-secscan stdout | 2025-09-26 08:32:56,838 [60] [DEBUG] [data.database] Configuring database gunicorn-secscan stdout | 2025-09-26 08:32:56,840 [60] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-secscan gunicorn-secscan stdout | 2025-09-26 08:32:56,841 [60] [INFO] [data.database] Connection pooling disabled for postgresql manifestsubjectbackfillworker stdout | 2025-09-26 08:32:56,833 [64] [INFO] [apscheduler.scheduler] Added job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type" to job store "default" gunicorn-secscan stdout | 2025-09-26 08:32:56,843 [60] [INFO] [data.secscan_model] =============================== manifestsubjectbackfillworker stdout | 2025-09-26 08:32:56,844 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:13.757911+00:00 (in 16.913543 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:32:56,844 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:32:56,844 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:13.757911+00:00 (in 16.913300 seconds) gunicorn-secscan stdout | 2025-09-26 08:32:56,846 [60] [INFO] [data.secscan_model] Using split secscan model: `[]` gunicorn-secscan stdout | 2025-09-26 08:32:56,847 [60] [INFO] [data.secscan_model] =============================== gunicorn-secscan stdout | 2025-09-26 08:32:56,848 [60] [DEBUG] [data.logs_model] Configuring log model gunicorn-secscan stdout | 2025-09-26 08:32:56,848 [60] [INFO] [data.logs_model] =============================== gunicorn-secscan stdout | 2025-09-26 08:32:56,849 [60] [INFO] [data.logs_model] Using logs model `` gunicorn-secscan stdout | 2025-09-26 08:32:56,850 [60] [INFO] [data.logs_model] =============================== repositorygcworker stdout | 2025-09-26 08:32:57,061 [86] [DEBUG] [__main__] Starting repository GC worker repositorygcworker stdout | 2025-09-26 08:32:57,133 [86] [DEBUG] [workers.worker] Scheduling worker. repositorygcworker stdout | 2025-09-26 08:32:57,135 [86] [INFO] [apscheduler.scheduler] Scheduler started repositorygcworker stdout | 2025-09-26 08:32:57,148 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:32:57,148 [86] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:23.149141 repositorygcworker stdout | 2025-09-26 08:32:57,148 [86] [DEBUG] [apscheduler.scheduler] No jobs; waiting until a job is added repositorygcworker stdout | 2025-09-26 08:32:57,149 [86] [INFO] [apscheduler.scheduler] Added job "QueueWorker.poll_queue" to job store "default" repositorygcworker stdout | 2025-09-26 08:32:57,234 [86] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:30.235102 repositorygcworker stdout | 2025-09-26 08:32:57,234 [86] [INFO] [apscheduler.scheduler] Added job "QueueWorker.update_queue_metrics" to job store "default" repositorygcworker stdout | 2025-09-26 08:32:57,234 [86] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:39.235682 repositorygcworker stdout | 2025-09-26 08:32:57,234 [86] [INFO] [apscheduler.scheduler] Added job "QueueWorker.run_watchdog" to job store "default" repositorygcworker stdout | 2025-09-26 08:32:57,235 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:32:57,235 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:23.149141+00:00 (in 25.913904 seconds) securityworker stdout | 2025-09-26 08:32:57,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:32:57,346 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:32:57 GMT)" (scheduled at 2025-09-26 08:32:57.335452+00:00) securityworker stdout | 2025-09-26 08:32:57,346 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:19.334273+00:00 (in 21.987878 seconds) securityworker stdout | 2025-09-26 08:32:57,346 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:32:57,347 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:32:57,349 [89] [DEBUG] [urllib3.connectionpool] Starting new HTTP connection (1): quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 teamsyncworker stdout | 2025-09-26 08:32:57,436 [105] [DEBUG] [__main__] Team syncing is disabled; sleeping securityworker stdout | 2025-09-26 08:32:57,443 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:32:57,446 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:32:57,458 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:32:57,459 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:32:57,459 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:32:57,459 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:32:57,460 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 2]) securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:32:57,534 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:32:57,534 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:32:57,535 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:32:57,535 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:32:57,535 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:32:57,535 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:32:57,535 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:32:57,535 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:32:57,535 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:32:57,535 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:32:57,535 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:32:57,537 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 27, 57, 446347), 1, 2]) gunicorn-web stdout | 2025-09-26 08:32:57,538 [61] [DEBUG] [util.ipresolver] Finished building AWS IP ranges gunicorn-web stdout | 2025-09-26 08:32:57,541 [61] [DEBUG] [botocore.hooks] Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane gunicorn-web stdout | 2025-09-26 08:32:57,544 [61] [DEBUG] [botocore.hooks] Changing event name from before-call.apigateway to before-call.api-gateway gunicorn-web stdout | 2025-09-26 08:32:57,545 [61] [DEBUG] [botocore.hooks] Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict gunicorn-web stdout | 2025-09-26 08:32:57,548 [61] [DEBUG] [botocore.hooks] Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration gunicorn-web stdout | 2025-09-26 08:32:57,548 [61] [DEBUG] [botocore.hooks] Changing event name from before-parameter-build.route53 to before-parameter-build.route-53 gunicorn-web stdout | 2025-09-26 08:32:57,549 [61] [DEBUG] [botocore.hooks] Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search securityworker stdout | 2025-09-26 08:32:57,541 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:32:57,541 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:32:57,541 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:32:57,541 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:32:57,541 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:32:57,541 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:32:57,541 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:32:57,541 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:32:57,541 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:32:57,541 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:32:57,541 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:32:57,542 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 27, 57, 446347), 1, 2]) securityworker stdout | 2025-09-26 08:32:57,546 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:32:57,546 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:32:57,546 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:32:57,546 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:32:57,546 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:32:57,546 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:32:57,546 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:32:57,546 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stdout | 2025-09-26 08:32:57,546 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:33:27 GMT)" executed successfully securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:32:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker gunicorn-web stdout | 2025-09-26 08:32:57,550 [61] [DEBUG] [botocore.hooks] Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section gunicorn-web stdout | 2025-09-26 08:32:57,554 [61] [DEBUG] [botocore.hooks] Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask gunicorn-web stdout | 2025-09-26 08:32:57,555 [61] [DEBUG] [botocore.hooks] Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section expiredappspecifictokenworker stdout | 2025-09-26 08:32:57,556 [55] [DEBUG] [__main__] Starting expired app specific token GC worker expiredappspecifictokenworker stdout | 2025-09-26 08:32:57,556 [55] [DEBUG] [__main__] Found expiration window: 1d gunicorn-web stdout | 2025-09-26 08:32:57,557 [61] [DEBUG] [botocore.hooks] Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search expiredappspecifictokenworker stdout | 2025-09-26 08:32:57,558 [55] [DEBUG] [workers.worker] Scheduling worker. gunicorn-web stdout | 2025-09-26 08:32:57,558 [61] [DEBUG] [botocore.hooks] Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section expiredappspecifictokenworker stdout | 2025-09-26 08:32:57,560 [55] [INFO] [apscheduler.scheduler] Scheduler started expiredappspecifictokenworker stdout | 2025-09-26 08:32:57,648 [55] [DEBUG] [apscheduler.scheduler] Looking for jobs to run expiredappspecifictokenworker stdout | 2025-09-26 08:32:57,648 [55] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 09:18:09.649189 expiredappspecifictokenworker stdout | 2025-09-26 08:32:57,650 [55] [INFO] [apscheduler.scheduler] Added job "ExpiredAppSpecificTokenWorker._gc_expired_tokens" to job store "default" expiredappspecifictokenworker stdout | 2025-09-26 08:32:57,649 [55] [DEBUG] [apscheduler.scheduler] No jobs; waiting until a job is added expiredappspecifictokenworker stdout | 2025-09-26 08:32:57,650 [55] [DEBUG] [apscheduler.scheduler] Looking for jobs to run expiredappspecifictokenworker stdout | 2025-09-26 08:32:57,650 [55] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 09:18:09.649189+00:00 (in 2711.998212 seconds) gunicorn-web stdout | 2025-09-26 08:32:57,742 [61] [DEBUG] [data.database] Configuring database gunicorn-web stdout | 2025-09-26 08:32:57,744 [61] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:32:57,744 [61] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:32:57,744 [61] [INFO] [data.secscan_model] =============================== gunicorn-web stdout | 2025-09-26 08:32:57,745 [61] [INFO] [data.secscan_model] Using split secscan model: `[]` gunicorn-web stdout | 2025-09-26 08:32:57,745 [61] [INFO] [data.secscan_model] =============================== gunicorn-web stdout | 2025-09-26 08:32:57,745 [61] [DEBUG] [data.logs_model] Configuring log model gunicorn-web stdout | 2025-09-26 08:32:57,745 [61] [INFO] [data.logs_model] =============================== gunicorn-web stdout | 2025-09-26 08:32:57,745 [61] [INFO] [data.logs_model] Using logs model `` gunicorn-web stdout | 2025-09-26 08:32:57,745 [61] [INFO] [data.logs_model] =============================== gunicorn-secscan stdout | 2025-09-26 08:32:58,051 [60] [DEBUG] [__config__] Starting secscan gunicorn with 2 workers and gevent worker class gunicorn-secscan stderr | Traceback (most recent call last): gunicorn-secscan stderr | File "src/gevent/_abstract_linkable.py", line 287, in gevent._gevent_c_abstract_linkable.AbstractLinkable._notify_links gunicorn-secscan stderr | File "src/gevent/_abstract_linkable.py", line 333, in gevent._gevent_c_abstract_linkable.AbstractLinkable._notify_links gunicorn-secscan stderr | AssertionError: (None, ) gunicorn-secscan stderr | 2025-09-26T08:32:58Z gunicorn-secscan stderr | gunicorn-secscan stderr | failed with AssertionError blobuploadcleanupworker stdout | 2025-09-26 08:32:58,155 [50] [DEBUG] [workers.worker] Scheduling worker. blobuploadcleanupworker stdout | 2025-09-26 08:32:58,156 [50] [INFO] [apscheduler.scheduler] Scheduler started blobuploadcleanupworker stdout | 2025-09-26 08:32:58,240 [50] [DEBUG] [apscheduler.scheduler] Looking for jobs to run blobuploadcleanupworker stdout | 2025-09-26 08:32:58,240 [50] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 09:16:16.241616 blobuploadcleanupworker stdout | 2025-09-26 08:32:58,242 [50] [INFO] [apscheduler.scheduler] Added job "BlobUploadCleanupWorker._try_cleanup_uploads" to job store "default" blobuploadcleanupworker stdout | 2025-09-26 08:32:58,241 [50] [DEBUG] [apscheduler.scheduler] No jobs; waiting until a job is added blobuploadcleanupworker stdout | 2025-09-26 08:32:58,252 [50] [DEBUG] [apscheduler.scheduler] Looking for jobs to run blobuploadcleanupworker stdout | 2025-09-26 08:32:58,253 [50] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 09:16:16.241616+00:00 (in 2597.988089 seconds) queuecleanupworker stdout | 2025-09-26 08:32:58,651 [71] [DEBUG] [workers.worker] Scheduling worker. queuecleanupworker stdout | 2025-09-26 08:32:58,653 [71] [INFO] [apscheduler.scheduler] Scheduler started queuecleanupworker stdout | 2025-09-26 08:32:58,654 [71] [DEBUG] [apscheduler.scheduler] Looking for jobs to run queuecleanupworker stdout | 2025-09-26 08:32:58,655 [71] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 09:59:41.655989 queuecleanupworker stdout | 2025-09-26 08:32:58,656 [71] [INFO] [apscheduler.scheduler] Added job "QueueCleanupWorker._cleanup_queue" to job store "default" queuecleanupworker stdout | 2025-09-26 08:32:58,656 [71] [DEBUG] [apscheduler.scheduler] No jobs; waiting until a job is added queuecleanupworker stdout | 2025-09-26 08:32:58,657 [71] [DEBUG] [apscheduler.scheduler] Looking for jobs to run queuecleanupworker stdout | 2025-09-26 08:32:58,657 [71] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 09:59:41.655989+00:00 (in 5202.998572 seconds) namespacegcworker stdout | 2025-09-26 08:32:58,742 [66] [DEBUG] [__main__] Starting namespace GC worker namespacegcworker stdout | 2025-09-26 08:32:58,745 [66] [DEBUG] [workers.worker] Scheduling worker. namespacegcworker stdout | 2025-09-26 08:32:58,747 [66] [INFO] [apscheduler.scheduler] Scheduler started namespacegcworker stdout | 2025-09-26 08:32:58,834 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:32:58,835 [66] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:58.835976 namespacegcworker stdout | 2025-09-26 08:32:58,839 [66] [INFO] [apscheduler.scheduler] Added job "QueueWorker.poll_queue" to job store "default" namespacegcworker stdout | 2025-09-26 08:32:58,839 [66] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:34:12.840568 namespacegcworker stdout | 2025-09-26 08:32:58,839 [66] [INFO] [apscheduler.scheduler] Added job "QueueWorker.update_queue_metrics" to job store "default" namespacegcworker stdout | 2025-09-26 08:32:58,839 [66] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:34.840898 namespacegcworker stdout | 2025-09-26 08:32:58,840 [66] [INFO] [apscheduler.scheduler] Added job "QueueWorker.run_watchdog" to job store "default" namespacegcworker stdout | 2025-09-26 08:32:58,838 [66] [DEBUG] [apscheduler.scheduler] No jobs; waiting until a job is added namespacegcworker stdout | 2025-09-26 08:32:58,843 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:32:58,844 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:34.840898+00:00 (in 35.996144 seconds) chunkcleanupworker stdout | 2025-09-26 08:32:58,844 [53] [DEBUG] [__main__] Swift storage not detected; sleeping repositoryactioncounter stdout | 2025-09-26 08:32:59,060 [80] [DEBUG] [workers.worker] Scheduling worker. repositoryactioncounter stdout | 2025-09-26 08:32:59,133 [80] [INFO] [apscheduler.scheduler] Scheduler started repositoryactioncounter stdout | 2025-09-26 08:32:59,156 [80] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositoryactioncounter stdout | 2025-09-26 08:32:59,156 [80] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 09:41:27.157176 repositoryactioncounter stdout | 2025-09-26 08:32:59,158 [80] [INFO] [apscheduler.scheduler] Added job "RepositoryActionCountWorker._run_counting" to job store "default" repositoryactioncounter stdout | 2025-09-26 08:32:59,157 [80] [DEBUG] [apscheduler.scheduler] No jobs; waiting until a job is added repositoryactioncounter stdout | 2025-09-26 08:32:59,159 [80] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositoryactioncounter stdout | 2025-09-26 08:32:59,159 [80] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 09:41:27.157176+00:00 (in 4107.997294 seconds) gcworker stdout | 2025-09-26 08:32:59,353 [57] [DEBUG] [workers.worker] Scheduling worker. gcworker stdout | 2025-09-26 08:32:59,354 [57] [INFO] [apscheduler.scheduler] Scheduler started notificationworker stdout | 2025-09-26 08:32:59,436 [68] [DEBUG] [workers.worker] Scheduling worker. gcworker stdout | 2025-09-26 08:32:59,438 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:32:59,438 [68] [INFO] [apscheduler.scheduler] Scheduler started notificationworker stdout | 2025-09-26 08:32:59,438 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:32:59,439 [68] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:06.440077 notificationworker stdout | 2025-09-26 08:32:59,440 [68] [INFO] [apscheduler.scheduler] Added job "QueueWorker.poll_queue" to job store "default" notificationworker stdout | 2025-09-26 08:32:59,440 [68] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:02.441222 notificationworker stdout | 2025-09-26 08:32:59,440 [68] [INFO] [apscheduler.scheduler] Added job "QueueWorker.update_queue_metrics" to job store "default" notificationworker stdout | 2025-09-26 08:32:59,440 [68] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:34.441526 notificationworker stdout | 2025-09-26 08:32:59,440 [68] [INFO] [apscheduler.scheduler] Added job "QueueWorker.run_watchdog" to job store "default" notificationworker stdout | 2025-09-26 08:32:59,439 [68] [DEBUG] [apscheduler.scheduler] No jobs; waiting until a job is added notificationworker stdout | 2025-09-26 08:32:59,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:32:59,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:02.441222+00:00 (in 3.000278 seconds) gcworker stdout | 2025-09-26 08:32:59,438 [57] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:04.439268 gcworker stdout | 2025-09-26 08:32:59,443 [57] [INFO] [apscheduler.scheduler] Added job "GarbageCollectionWorker._garbage_collection_repos" to job store "default" gcworker stdout | 2025-09-26 08:32:59,443 [57] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 08:33:21.444401 gcworker stdout | 2025-09-26 08:32:59,443 [57] [INFO] [apscheduler.scheduler] Added job "GarbageCollectionWorker._scan_notifications" to job store "default" gcworker stdout | 2025-09-26 08:32:59,442 [57] [DEBUG] [apscheduler.scheduler] No jobs; waiting until a job is added gcworker stdout | 2025-09-26 08:32:59,445 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:32:59,446 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:04.439268+00:00 (in 4.992529 seconds) builder stdout | 2025-09-26 08:32:59,667 [51] [DEBUG] [__main__] Building is disabled. Please enable the feature flag gunicorn-web stderr | /app/lib/python3.12/site-packages/PyPDF3/generic.py:348: SyntaxWarning: invalid escape sequence '\c' gunicorn-web stderr | b_("c") : b_("\c"), globalpromstats stdout | 2025-09-26 08:33:00,550 [58] [DEBUG] [workers.worker] Scheduling worker. globalpromstats stdout | 2025-09-26 08:33:00,551 [58] [INFO] [apscheduler.scheduler] Scheduler started globalpromstats stdout | 2025-09-26 08:33:00,552 [58] [DEBUG] [apscheduler.scheduler] Looking for jobs to run globalpromstats stdout | 2025-09-26 08:33:00,552 [58] [DEBUG] [apscheduler.scheduler] No jobs; waiting until a job is added globalpromstats stdout | 2025-09-26 08:33:00,552 [58] [DEBUG] [workers.worker] First run scheduled for 2025-09-26 09:26:18.553622 globalpromstats stdout | 2025-09-26 08:33:00,553 [58] [INFO] [apscheduler.scheduler] Added job "GlobalPrometheusStatsWorker._try_report_stats" to job store "default" globalpromstats stdout | 2025-09-26 08:33:00,553 [58] [DEBUG] [apscheduler.scheduler] Looking for jobs to run globalpromstats stdout | 2025-09-26 08:33:00,553 [58] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 09:26:18.553622+00:00 (in 3197.999686 seconds) gunicorn-registry stderr | /app/lib/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' gunicorn-registry stderr | clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) gunicorn-registry stderr | /app/lib/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' gunicorn-registry stderr | return re.sub('[^\w]+', '_', self.name) gunicorn-registry stderr | /app/lib/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' gunicorn-registry stderr | _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') gunicorn-web stdout | 2025-09-26 08:33:00,814 [61] [DEBUG] [__config__] Starting web gunicorn with 4 workers and gevent worker class gunicorn-web stderr | Traceback (most recent call last): gunicorn-web stderr | File "src/gevent/_abstract_linkable.py", line 287, in gevent._gevent_c_abstract_linkable.AbstractLinkable._notify_links gunicorn-web stderr | File "src/gevent/_abstract_linkable.py", line 333, in gevent._gevent_c_abstract_linkable.AbstractLinkable._notify_links gunicorn-web stderr | AssertionError: (None, ) gunicorn-web stderr | 2025-09-26T08:33:00Z gunicorn-web stderr | failed with AssertionError notificationworker stdout | 2025-09-26 08:33:02,441 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gunicorn-registry stdout | 2025-09-26 08:33:02,441 [59] [DEBUG] [app] Loading default config. notificationworker stdout | 2025-09-26 08:33:02,441 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:33:02 GMT)" (scheduled at 2025-09-26 08:33:02.441222+00:00) gunicorn-registry stdout | 2025-09-26 08:33:02,442 [59] [DEBUG] [util.config.provider.basefileprovider] Applying config file: /quay-registry/conf/stack/config.yaml notificationworker stdout | 2025-09-26 08:33:02,442 [68] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [False, datetime.datetime(2025, 9, 26, 8, 33, 2, 441985), 'notification/%']) notificationworker stdout | 2025-09-26 08:33:02,443 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:06.440077+00:00 (in 3.997091 seconds) gunicorn-registry stdout | 2025-09-26 08:33:02,449 [59] [DEBUG] [app] Loaded config gunicorn-registry stdout | 2025-09-26 08:33:02,451 [59] [INFO] [util.ipresolver] Loading AWS IP ranges from disk notificationworker stdout | 2025-09-26 08:33:02,457 [68] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 33, 2, 441985), True, datetime.datetime(2025, 9, 26, 8, 33, 2, 441985), 0, 'notification/%']) notificationworker stdout | 2025-09-26 08:33:02,460 [68] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) AND NOT ("t1"."queue_name" IN (SELECT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s)))))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 33, 2, 441985), True, datetime.datetime(2025, 9, 26, 8, 33, 2, 441985), 0, 'notification/%', False, datetime.datetime(2025, 9, 26, 8, 33, 2, 441985), 'notification/%']) gunicorn-registry stdout | 2025-09-26 08:33:02,463 [59] [DEBUG] [util.ipresolver] Building AWS IP ranges notificationworker stdout | 2025-09-26 08:33:02,465 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:33:02,465 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:38:02 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:33:02,532 [59] [DEBUG] [util.ipresolver] Finished building AWS IP ranges gunicorn-registry stdout | 2025-09-26 08:33:02,534 [59] [DEBUG] [botocore.hooks] Changing event name from creating-client-class.iot-data to creating-client-class.iot-data-plane gunicorn-registry stdout | 2025-09-26 08:33:02,536 [59] [DEBUG] [botocore.hooks] Changing event name from before-call.apigateway to before-call.api-gateway gunicorn-registry stdout | 2025-09-26 08:33:02,538 [59] [DEBUG] [botocore.hooks] Changing event name from request-created.machinelearning.Predict to request-created.machine-learning.Predict gunicorn-registry stdout | 2025-09-26 08:33:02,539 [59] [DEBUG] [botocore.hooks] Changing event name from before-parameter-build.autoscaling.CreateLaunchConfiguration to before-parameter-build.auto-scaling.CreateLaunchConfiguration gunicorn-registry stdout | 2025-09-26 08:33:02,539 [59] [DEBUG] [botocore.hooks] Changing event name from before-parameter-build.route53 to before-parameter-build.route-53 gunicorn-registry stdout | 2025-09-26 08:33:02,540 [59] [DEBUG] [botocore.hooks] Changing event name from request-created.cloudsearchdomain.Search to request-created.cloudsearch-domain.Search gunicorn-registry stdout | 2025-09-26 08:33:02,541 [59] [DEBUG] [botocore.hooks] Changing event name from docs.*.autoscaling.CreateLaunchConfiguration.complete-section to docs.*.auto-scaling.CreateLaunchConfiguration.complete-section gunicorn-registry stdout | 2025-09-26 08:33:02,544 [59] [DEBUG] [botocore.hooks] Changing event name from before-parameter-build.logs.CreateExportTask to before-parameter-build.cloudwatch-logs.CreateExportTask gunicorn-registry stdout | 2025-09-26 08:33:02,544 [59] [DEBUG] [botocore.hooks] Changing event name from docs.*.logs.CreateExportTask.complete-section to docs.*.cloudwatch-logs.CreateExportTask.complete-section gunicorn-registry stdout | 2025-09-26 08:33:02,545 [59] [DEBUG] [botocore.hooks] Changing event name from before-parameter-build.cloudsearchdomain.Search to before-parameter-build.cloudsearch-domain.Search gunicorn-registry stdout | 2025-09-26 08:33:02,545 [59] [DEBUG] [botocore.hooks] Changing event name from docs.*.cloudsearchdomain.Search.complete-section to docs.*.cloudsearch-domain.Search.complete-section gunicorn-web stdout | 2025-09-26 08:33:02,643 [240] [DEBUG] [app] Starting request: urn:request:c7da8423-3b4e-4300-892d-5aabf84797fc (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:33:02,650 [240] [DEBUG] [urllib3.connectionpool] Starting new HTTP connection (1): localhost:8080 nginx stdout | 2025/09/26 08:33:02 [crit] 100#0: *15 connect() to unix:/tmp/gunicorn_registry.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: , request: "GET /v1/_internal_ping HTTP/1.1", upstream: "http://unix:/tmp/gunicorn_registry.sock:/v1/_internal_ping", host: "localhost:8080" gunicorn-web stdout | 2025-09-26 08:33:02,673 [240] [DEBUG] [app] Starting request: urn:request:66d57e5d-0db4-43a2-8127-799f33d1c395 (/quay-registry/static/502.html) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:33:02,674 [240] [DEBUG] [app] Ending request: urn:request:66d57e5d-0db4-43a2-8127-799f33d1c395 (/quay-registry/static/502.html) {'endpoint': None, 'request_id': 'urn:request:66d57e5d-0db4-43a2-8127-799f33d1c395', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/quay-registry/static/502.html', 'path': '/quay-registry/static/502.html', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:33:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 502 281 "-" "python-requests/2.32.2" (0.004 162 0.000 : 0.004) gunicorn-web stdout | 2025-09-26 08:33:02,675 [240] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:33:02 +0000] "GET /quay-registry/static/502.html HTTP/1.0" 308 281 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:33:02,676 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 502 281 gunicorn-web stdout | 2025-09-26 08:33:02,678 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:33:02,679 [240] [DEBUG] [app] Starting request: urn:request:3e733a71-f9fa-40b1-8055-1e9c129cc308 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:33:02,680 [240] [DEBUG] [app] Ending request: urn:request:3e733a71-f9fa-40b1-8055-1e9c129cc308 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:3e733a71-f9fa-40b1-8055-1e9c129cc308', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:33:02,680 [240] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:33:02 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:33:02 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.001) gunicorn-web stdout | 2025-09-26 08:33:02,681 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:33:02,683 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."kid", "t1"."service", "t1"."jwk", "t1"."metadata", "t1"."created_date", "t1"."expiration_date", "t1"."rotation_duration", "t1"."approval_id" FROM "servicekey" AS "t1" LEFT OUTER JOIN "servicekeyapproval" AS "t2" ON ("t1"."approval_id" = "t2"."id") WHERE ((((NOT ("t1"."approval_id" IS %s) AND (("t1"."expiration_date" > %s) OR ("t1"."expiration_date" IS %s))) AND ("t1"."service" = %s)) AND (NOT (("t1"."service" = %s) AND ("t1"."expiration_date" <= %s)) OR NOT ((("t1"."service" = %s) AND ("t1"."approval_id" IS %s)) AND ("t1"."created_date" <= %s)))) AND (NOT ("t1"."expiration_date" <= %s) OR ("t1"."expiration_date" IS %s)))', [None, datetime.datetime(2025, 9, 26, 8, 33, 2, 682136), None, 'quay', 'quay', datetime.datetime(2025, 9, 26, 8, 33, 2, 682167), 'quay', None, datetime.datetime(2025, 9, 25, 8, 33, 2, 682198), datetime.datetime(2025, 9, 19, 8, 33, 2, 682214), None]) gunicorn-web stdout | 2025-09-26 08:33:02,698 [240] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:33:02,699 [240] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:33:02,699 [240] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:33:02,707 [240] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:33:02,707 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-registry stdout | 2025-09-26 08:33:02,708 [59] [DEBUG] [data.database] Configuring database gunicorn-registry stdout | 2025-09-26 08:33:02,709 [59] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-registry gunicorn-registry stdout | 2025-09-26 08:33:02,710 [59] [INFO] [data.database] Connection pooling enabled for postgresql; stale timeout: None; max connection count: None gunicorn-web stdout | 2025-09-26 08:33:02,710 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-registry stdout | 2025-09-26 08:33:02,710 [59] [INFO] [data.secscan_model] =============================== gunicorn-registry stdout | 2025-09-26 08:33:02,711 [59] [INFO] [data.secscan_model] Using split secscan model: `[]` gunicorn-registry stdout | 2025-09-26 08:33:02,711 [59] [INFO] [data.secscan_model] =============================== gunicorn-registry stdout | 2025-09-26 08:33:02,711 [59] [DEBUG] [data.logs_model] Configuring log model gunicorn-registry stdout | 2025-09-26 08:33:02,711 [59] [INFO] [data.logs_model] =============================== gunicorn-registry stdout | 2025-09-26 08:33:02,711 [59] [INFO] [data.logs_model] Using logs model `` gunicorn-registry stdout | 2025-09-26 08:33:02,711 [59] [INFO] [data.logs_model] =============================== gunicorn-web stdout | 2025-09-26 08:33:02,714 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:33:02,718 [240] [WARNING] [health.healthcheck] [FAILED HEALTH CHECK] {'services_expanded': {'registry_gunicorn': {'status': False, 'failure': 'Got non-200 response for worker: 502'}, 'web_gunicorn': {'status': True}, 'service_key': {'status': True}, 'disk_space': {'status': True}, 'database': {'status': True}, 'auth': {'status': True}}, 'notes': [], 'is_testing': False, 'config_provider': 'k8s', 'local_service_key_id': 'NkTQz95qaoZEIB0qfW4I2JECfOnG4wGmngsnrxflZLQ', 'hostname': 'quayregistry-quay-app-56c546d756-5xfsr'} gunicorn-web stdout | 2025-09-26 08:33:02,718 [240] [DEBUG] [app] Ending request: urn:request:c7da8423-3b4e-4300-892d-5aabf84797fc (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:c7da8423-3b4e-4300-892d-5aabf84797fc', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:33:02,718 [240] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:33:02,719 [240] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:33:02 +0000] "GET /health/instance HTTP/1.0" 503 153 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:33:02 +0000] "GET /health/instance HTTP/1.1" 503 153 "-" "kube-probe/1.32" (0.081 118 0.081) gunicorn-registry stdout | 2025-09-26 08:33:03,360 [59] [DEBUG] [__config__] Starting registry gunicorn with 8 workers and gevent worker class gunicorn-registry stderr | Traceback (most recent call last): gunicorn-registry stderr | File "src/gevent/_abstract_linkable.py", line 287, in gevent._gevent_c_abstract_linkable.AbstractLinkable._notify_links gunicorn-registry stderr | File "src/gevent/_abstract_linkable.py", line 333, in gevent._gevent_c_abstract_linkable.AbstractLinkable._notify_links gunicorn-registry stderr | AssertionError: (None, ) gunicorn-registry stderr | 2025-09-26T08:33:03Z failed with AssertionError exportactionlogsworker stdout | 2025-09-26 08:33:03,458 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} proxycacheblobworker stdout | 2025-09-26 08:33:03,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:33:03,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:13.545186+00:00 (in 9.999507 seconds) proxycacheblobworker stdout | 2025-09-26 08:33:03,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:13 GMT)" (scheduled at 2025-09-26 08:33:03.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:33:03,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:33:03,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 33, 3, 546058), True, datetime.datetime(2025, 9, 26, 8, 33, 3, 546058), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:33:03,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:33:03,559 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:33:03,559 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:13 GMT)" executed successfully gcworker stdout | 2025-09-26 08:33:04,439 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:33:04,441 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:33:04 GMT)" (scheduled at 2025-09-26 08:33:04.439268+00:00) gcworker stdout | 2025-09-26 08:33:04,441 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:21.444401+00:00 (in 17.002709 seconds) gcworker stdout | 2025-09-26 08:33:04,442 [57] [DEBUG] [peewee] ('SELECT DISTINCT "t1"."removed_tag_expiration_s" FROM "user" AS "t1" LIMIT %s', [100]) gcworker stdout | 2025-09-26 08:33:04,455 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:33:04,455 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:33:04,455 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:33:34 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:33:04,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:33:04,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:33:04 GMT)" (scheduled at 2025-09-26 08:33:04.734534+00:00) autopruneworker stdout | 2025-09-26 08:33:04,735 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:34.734534+00:00 (in 29.998910 seconds) autopruneworker stdout | 2025-09-26 08:33:04,744 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758871984743, None, 1, 0]) autopruneworker stdout | 2025-09-26 08:33:04,749 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:33:04,749 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:33:04,749 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:33:34 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:33:06,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:33:06,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:16.440077+00:00 (in 9.999485 seconds) notificationworker stdout | 2025-09-26 08:33:06,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:16 GMT)" (scheduled at 2025-09-26 08:33:06.440077+00:00) notificationworker stdout | 2025-09-26 08:33:06,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:33:06,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 33, 6, 440900), True, datetime.datetime(2025, 9, 26, 8, 33, 6, 440900), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:33:06,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:33:06,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:33:06,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:16 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:33:06,763 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} proxycacheblobworker stdout | 2025-09-26 08:33:09,056 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} buildlogsarchiver stdout | 2025-09-26 08:33:09,351 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:33:09,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:33:09 GMT)" (scheduled at 2025-09-26 08:33:09.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:33:09,353 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 33, 9, 352394), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:33:09,353 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:39.351551+00:00 (in 29.997707 seconds) buildlogsarchiver stdout | 2025-09-26 08:33:09,365 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:33:09,365 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:33:09,365 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:33:39 GMT)" executed successfully manifestbackfillworker stdout | 2025-09-26 08:33:10,146 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} proxycacheblobworker stdout | 2025-09-26 08:33:13,546 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:33:13,546 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:13.548017+00:00 (in 0.001634 seconds) proxycacheblobworker stdout | 2025-09-26 08:33:13,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:23 GMT)" (scheduled at 2025-09-26 08:33:13.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:33:13,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:33:13,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 33, 13, 546754), True, datetime.datetime(2025, 9, 26, 8, 33, 13, 546754), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:33:13,548 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:33:13,548 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:33:13 GMT)" (scheduled at 2025-09-26 08:33:13.548017+00:00) proxycacheblobworker stdout | 2025-09-26 08:33:13,549 [69] [DEBUG] [workers.queueworker] Running watchdog. proxycacheblobworker stdout | 2025-09-26 08:33:13,549 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:33:13 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:33:13,549 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:23.545186+00:00 (in 9.995662 seconds) proxycacheblobworker stdout | 2025-09-26 08:33:13,561 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:33:13,561 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:33:13,561 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:23 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:33:13,758 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:33:13,758 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:33:13 GMT)" (scheduled at 2025-09-26 08:33:13.757911+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:33:13,759 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."subject_backfilled" = %s) OR ("t1"."subject_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:33:13,759 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:13.760217+00:00 (in 0.000372 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:33:13,760 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:33:13,760 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:33:13 GMT)" (scheduled at 2025-09-26 08:33:13.760217+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:33:13,762 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."artifact_type_backfilled" = %s) OR ("t1"."artifact_type_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:33:13,762 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:13.757911+00:00 (in 59.995697 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:33:13,772 [64] [DEBUG] [__main__] Manifest subject backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:33:13,772 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:33:13,775 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:34:13 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:33:13,780 [64] [DEBUG] [__main__] Manifest artifact_type backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:33:13,780 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:33:13,780 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:34:13 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:33:16,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:33:16,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:26.440077+00:00 (in 9.999534 seconds) notificationworker stdout | 2025-09-26 08:33:16,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:26 GMT)" (scheduled at 2025-09-26 08:33:16.440077+00:00) notificationworker stdout | 2025-09-26 08:33:16,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:33:16,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 33, 16, 440802), True, datetime.datetime(2025, 9, 26, 8, 33, 16, 440802), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:33:16,456 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:33:16,456 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:33:16,456 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:26 GMT)" executed successfully securityworker stdout | 2025-09-26 08:33:17,151 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} gunicorn-web stdout | 2025-09-26 08:33:17,643 [239] [DEBUG] [app] Starting request: urn:request:1a818b06-f2c9-4612-b220-2a5d061ed8f8 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:33:17,651 [239] [DEBUG] [urllib3.connectionpool] Starting new HTTP connection (1): localhost:8080 gunicorn-registry stdout | 2025-09-26 08:33:17,674 [250] [DEBUG] [app] Starting request: urn:request:607a75e1-edb4-41c9-acca-1b8f5a77b4b3 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:33:17,675 [250] [DEBUG] [app] Ending request: urn:request:607a75e1-edb4-41c9-acca-1b8f5a77b4b3 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:607a75e1-edb4-41c9-acca-1b8f5a77b4b3', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:33:17,676 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:33:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:33:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.005 162 0.006) gunicorn-web stdout | 2025-09-26 08:33:17,677 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:33:17,678 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:33:17,683 [241] [DEBUG] [app] Starting request: urn:request:66500f3f-2504-4147-a5b0-10579c0ac431 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:33:17,685 [241] [DEBUG] [app] Ending request: urn:request:66500f3f-2504-4147-a5b0-10579c0ac431 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:66500f3f-2504-4147-a5b0-10579c0ac431', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:33:17,686 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:33:17,686 [241] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:33:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:33:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.007 159 0.007) gunicorn-web stdout | 2025-09-26 08:33:17,688 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."kid", "t1"."service", "t1"."jwk", "t1"."metadata", "t1"."created_date", "t1"."expiration_date", "t1"."rotation_duration", "t1"."approval_id" FROM "servicekey" AS "t1" LEFT OUTER JOIN "servicekeyapproval" AS "t2" ON ("t1"."approval_id" = "t2"."id") WHERE ((((NOT ("t1"."approval_id" IS %s) AND (("t1"."expiration_date" > %s) OR ("t1"."expiration_date" IS %s))) AND ("t1"."service" = %s)) AND (NOT (("t1"."service" = %s) AND ("t1"."expiration_date" <= %s)) OR NOT ((("t1"."service" = %s) AND ("t1"."approval_id" IS %s)) AND ("t1"."created_date" <= %s)))) AND (NOT ("t1"."expiration_date" <= %s) OR ("t1"."expiration_date" IS %s)))', [None, datetime.datetime(2025, 9, 26, 8, 33, 17, 687690), None, 'quay', 'quay', datetime.datetime(2025, 9, 26, 8, 33, 17, 687722), 'quay', None, datetime.datetime(2025, 9, 25, 8, 33, 17, 687750), datetime.datetime(2025, 9, 19, 8, 33, 17, 687767), None]) gunicorn-web stdout | 2025-09-26 08:33:17,704 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:33:17,705 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:33:17,705 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:33:17,713 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:33:17,713 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:33:17,716 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:33:17,719 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:33:17,724 [239] [DEBUG] [app] Ending request: urn:request:1a818b06-f2c9-4612-b220-2a5d061ed8f8 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:1a818b06-f2c9-4612-b220-2a5d061ed8f8', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:33:17,724 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:33:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.087 118 0.087) gunicorn-web stdout | 2025-09-26 08:33:17,725 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:33:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" gunicorn-web stdout | 2025-09-26 08:33:17,727 [239] [DEBUG] [app] Starting request: urn:request:dab1b0dc-f812-461e-9179-a8bdb404052a (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:33:17,729 [250] [DEBUG] [app] Starting request: urn:request:99550825-dfa4-4978-9e87-a63ba5f03eaf (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:33:17,729 [250] [DEBUG] [app] Ending request: urn:request:99550825-dfa4-4978-9e87-a63ba5f03eaf (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:99550825-dfa4-4978-9e87-a63ba5f03eaf', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:33:17,730 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:33:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:33:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:33:17,730 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:33:17,731 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:33:17,733 [241] [DEBUG] [app] Starting request: urn:request:c558057f-962e-420a-8686-3ca52f834a6e (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:33:17,733 [241] [DEBUG] [app] Ending request: urn:request:c558057f-962e-420a-8686-3ca52f834a6e (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:c558057f-962e-420a-8686-3ca52f834a6e', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:33:17,734 [241] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:33:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:33:17,734 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:33:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:33:17,734 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:33:17,734 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:33:17,734 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:33:17,742 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:33:17,742 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:33:17,752 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:33:17,756 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:33:17,759 [239] [DEBUG] [app] Ending request: urn:request:dab1b0dc-f812-461e-9179-a8bdb404052a (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:dab1b0dc-f812-461e-9179-a8bdb404052a', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:33:17,759 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:33:17,759 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:33:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:33:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.033 118 0.033) securityworker stdout | 2025-09-26 08:33:19,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:33:19,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:27.335452+00:00 (in 8.000145 seconds) securityworker stdout | 2025-09-26 08:33:19,335 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:33:49 GMT)" (scheduled at 2025-09-26 08:33:19.334273+00:00) securityworker stdout | 2025-09-26 08:33:19,335 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:33:19,335 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:33:19,339 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:33:19,341 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:33:19,354 [89] [DEBUG] [peewee] ('SELECT Min("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:33:19,358 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stdout | 2025-09-26 08:33:19,358 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:33:49 GMT)" executed successfully logrotateworker stdout | 2025-09-26 08:33:20,170 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} buildlogsarchiver stdout | 2025-09-26 08:33:21,263 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'} gcworker stdout | 2025-09-26 08:33:21,445 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:33:21,445 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:34.439268+00:00 (in 12.993491 seconds) gcworker stdout | 2025-09-26 08:33:21,445 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:33:51 GMT)" (scheduled at 2025-09-26 08:33:21.444401+00:00) gcworker stdout | 2025-09-26 08:33:21,446 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) gcworker stdout | 2025-09-26 08:33:21,458 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875301458, None, 1, 0]) gcworker stdout | 2025-09-26 08:33:21,463 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:33:21,463 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:33:51 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:33:21,947 [64] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestsubjectbackfillworker.py', 'pid': '64'} securityscanningnotificationworker stdout | 2025-09-26 08:33:22,246 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:33:22,247 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:33:22 GMT)" (scheduled at 2025-09-26 08:33:22.245238+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:33:22,247 [88] [DEBUG] [workers.queueworker] Running watchdog. securityscanningnotificationworker stdout | 2025-09-26 08:33:22,247 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:33:22 GMT)" executed successfully securityscanningnotificationworker stdout | 2025-09-26 08:33:22,247 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:42.242482+00:00 (in 19.994720 seconds) storagereplication stdout | 2025-09-26 08:33:22,983 [95] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'storagereplication.py', 'pid': '95'} repositorygcworker stdout | 2025-09-26 08:33:23,149 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:33:23,149 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:33:23 GMT)" (scheduled at 2025-09-26 08:33:23.149141+00:00) repositorygcworker stdout | 2025-09-26 08:33:23,149 [86] [DEBUG] [workers.queueworker] Getting work item from queue. repositorygcworker stdout | 2025-09-26 08:33:23,150 [86] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 33, 23, 150015), True, datetime.datetime(2025, 9, 26, 8, 33, 23, 150015), 0, 'repositorygc/%', 50, 1, 0]) repositorygcworker stdout | 2025-09-26 08:33:23,151 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:30.235102+00:00 (in 7.083883 seconds) repositorygcworker stdout | 2025-09-26 08:33:23,164 [86] [DEBUG] [workers.queueworker] No more work. repositorygcworker stdout | 2025-09-26 08:33:23,164 [86] [DEBUG] [data.database] Disconnecting from database. repositorygcworker stdout | 2025-09-26 08:33:23,164 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:34:23 GMT)" executed successfully teamsyncworker stdout | 2025-09-26 08:33:23,448 [105] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'teamsyncworker.py', 'pid': '105'} blobuploadcleanupworker stdout | 2025-09-26 08:33:23,450 [50] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'blobuploadcleanupworker.py', 'pid': '50'} servicekey stdout | 2025-09-26 08:33:23,451 [93] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'servicekeyworker.py', 'pid': '93'} proxycacheblobworker stdout | 2025-09-26 08:33:23,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:33:23,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:33.545186+00:00 (in 9.999560 seconds) proxycacheblobworker stdout | 2025-09-26 08:33:23,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:33 GMT)" (scheduled at 2025-09-26 08:33:23.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:33:23,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:33:23,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 33, 23, 545943), True, datetime.datetime(2025, 9, 26, 8, 33, 23, 545943), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:33:23,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:33:23,559 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:33:23,559 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:33 GMT)" executed successfully gcworker stdout | 2025-09-26 08:33:23,946 [57] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'gcworker.py', 'pid': '57'} queuecleanupworker stdout | 2025-09-26 08:33:24,048 [71] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'queuecleanupworker.py', 'pid': '71'} securityscanningnotificationworker stdout | 2025-09-26 08:33:24,365 [88] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityscanningnotificationworker.py', 'pid': '88'} chunkcleanupworker stdout | 2025-09-26 08:33:24,659 [53] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'chunkcleanupworker.py', 'pid': '53'} repositorygcworker stdout | 2025-09-26 08:33:25,365 [86] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositorygcworker.py', 'pid': '86'} gunicorn-secscan stdout | 2025-09-26 08:33:25,503 [227] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '227'} gunicorn-secscan stdout | 2025-09-26 08:33:25,505 [228] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '228'} gunicorn-secscan stdout | 2025-09-26 08:33:25,507 [60] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '60'} namespacegcworker stdout | 2025-09-26 08:33:25,766 [66] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'namespacegcworker.py', 'pid': '66'} repositoryactioncounter stdout | 2025-09-26 08:33:26,247 [80] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositoryactioncounter.py', 'pid': '80'} expiredappspecifictokenworker stdout | 2025-09-26 08:33:26,356 [55] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'expiredappspecifictokenworker.py', 'pid': '55'} gunicorn-web stdout | 2025-09-26 08:33:26,372 [240] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '240'} gunicorn-web stdout | 2025-09-26 08:33:26,377 [239] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '239'} notificationworker stdout | 2025-09-26 08:33:26,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:33:26,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:34.441526+00:00 (in 8.001009 seconds) notificationworker stdout | 2025-09-26 08:33:26,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:36 GMT)" (scheduled at 2025-09-26 08:33:26.440077+00:00) notificationworker stdout | 2025-09-26 08:33:26,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:33:26,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 33, 26, 440762), True, datetime.datetime(2025, 9, 26, 8, 33, 26, 440762), 0, 'notification/%', 50, 1, 0]) gunicorn-web stdout | 2025-09-26 08:33:26,447 [242] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '242'} gunicorn-web stdout | 2025-09-26 08:33:26,451 [241] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '241'} gunicorn-web stdout | 2025-09-26 08:33:26,454 [61] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '61'} notificationworker stdout | 2025-09-26 08:33:26,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:33:26,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:33:26,456 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:36 GMT)" executed successfully builder stdout | 2025-09-26 08:33:26,654 [51] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'builder.py', 'pid': '51'} securityworker stdout | 2025-09-26 08:33:27,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:33:27,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:49.334273+00:00 (in 21.998347 seconds) securityworker stdout | 2025-09-26 08:33:27,336 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:33:57 GMT)" (scheduled at 2025-09-26 08:33:27.335452+00:00) securityworker stdout | 2025-09-26 08:33:27,336 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:33:27,336 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:33:27,339 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:33:27,341 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:33:27,354 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:33:27,354 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:33:27,354 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:33:27,354 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:33:27,355 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 2]) securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:33:27,360 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:33:27,360 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:33:27,360 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:33:27,360 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:33:27,360 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:33:27,360 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:33:27,360 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:33:27,360 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:33:27,360 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:33:27,360 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:33:27,360 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:33:27,361 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 28, 27, 341403), 1, 2]) securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:33:27,364 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:33:27,364 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:33:27,364 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:33:27,364 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:33:27,364 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:33:27,364 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:33:27,364 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:33:27,364 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:33:27,364 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:33:27,364 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:33:27,365 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:33:27,365 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 28, 27, 341403), 1, 2]) securityworker stdout | 2025-09-26 08:33:27,368 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:33:27,368 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:33:27,368 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:33:27,369 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:33:27,369 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:33:27,369 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:33:27,369 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:33:27,369 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:33:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:33:27,369 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:33:57 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:33:27,562 [68] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'notificationworker.py', 'pid': '68'} globalpromstats stdout | 2025-09-26 08:33:29,949 [58] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'globalpromstats.py', 'pid': '58'} repositorygcworker stdout | 2025-09-26 08:33:30,235 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:33:30,235 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:39.235682+00:00 (in 9.000084 seconds) repositorygcworker stdout | 2025-09-26 08:33:30,235 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:38:30 GMT)" (scheduled at 2025-09-26 08:33:30.235102+00:00) repositorygcworker stdout | 2025-09-26 08:33:30,236 [86] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [False, datetime.datetime(2025, 9, 26, 8, 33, 30, 235831), 'repositorygc/%']) repositorygcworker stdout | 2025-09-26 08:33:30,250 [86] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 33, 30, 235831), True, datetime.datetime(2025, 9, 26, 8, 33, 30, 235831), 0, 'repositorygc/%']) repositorygcworker stdout | 2025-09-26 08:33:30,254 [86] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) AND NOT ("t1"."queue_name" IN (SELECT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s)))))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 33, 30, 235831), True, datetime.datetime(2025, 9, 26, 8, 33, 30, 235831), 0, 'repositorygc/%', False, datetime.datetime(2025, 9, 26, 8, 33, 30, 235831), 'repositorygc/%']) repositorygcworker stdout | 2025-09-26 08:33:30,258 [86] [DEBUG] [data.database] Disconnecting from database. repositorygcworker stdout | 2025-09-26 08:33:30,259 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:38:30 GMT)" executed successfully gunicorn-web stdout | 2025-09-26 08:33:32,640 [239] [DEBUG] [app] Starting request: urn:request:f211f53e-3a9a-4a1f-a26a-0b41614fb6ec (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:33:32,641 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:33:32,645 [257] [DEBUG] [app] Starting request: urn:request:fd1e46bf-5fac-4d23-962a-1311b7286822 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:33:32,647 [257] [DEBUG] [app] Ending request: urn:request:fd1e46bf-5fac-4d23-962a-1311b7286822 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:fd1e46bf-5fac-4d23-962a-1311b7286822', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:33:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.007 162 0.006) gunicorn-web stdout | 2025-09-26 08:33:32,649 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-registry stdout | 2025-09-26 08:33:32,649 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:33:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-registry stdout | 2025-09-26 08:33:32,650 [257] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '257'} gunicorn-web stdout | 2025-09-26 08:33:32,650 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:33:32,652 [241] [DEBUG] [app] Starting request: urn:request:0a827561-80dc-4876-98c2-78382b0e00b0 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:33:32,653 [241] [DEBUG] [app] Ending request: urn:request:0a827561-80dc-4876-98c2-78382b0e00b0 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:0a827561-80dc-4876-98c2-78382b0e00b0', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:33:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-registry stdout | 2025-09-26 08:33:32,653 [252] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '252'} gunicorn-web stdout | 2025-09-26 08:33:32,653 [241] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:33:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:33:32,654 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:33:32,654 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:33:32,654 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:33:32,654 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-registry stdout | 2025-09-26 08:33:32,657 [59] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '59'} gunicorn-registry stdout | 2025-09-26 08:33:32,661 [254] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '254'} gunicorn-web stdout | 2025-09-26 08:33:32,663 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:33:32,663 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-registry stdout | 2025-09-26 08:33:32,733 [255] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '255'} gunicorn-web stdout | 2025-09-26 08:33:32,737 [242] [DEBUG] [app] Starting request: urn:request:50d5738e-1cc8-4d49-81fb-6eb55a2b0012 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:33:32,737 [253] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '253'} gunicorn-web stdout | 2025-09-26 08:33:32,739 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-registry stdout | 2025-09-26 08:33:32,742 [251] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '251'} gunicorn-web stdout | 2025-09-26 08:33:32,743 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:33:32,743 [242] [DEBUG] [urllib3.connectionpool] Starting new HTTP connection (1): localhost:8080 gunicorn-registry stdout | 2025-09-26 08:33:32,746 [250] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '250'} gunicorn-web stdout | 2025-09-26 08:33:32,746 [239] [DEBUG] [app] Ending request: urn:request:f211f53e-3a9a-4a1f-a26a-0b41614fb6ec (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:f211f53e-3a9a-4a1f-a26a-0b41614fb6ec', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:33:32,747 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:33:32,747 [256] [DEBUG] [app] Starting request: urn:request:596790e1-65c5-45f1-95bd-399ae317bde0 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:33:32,747 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:33:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:33:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.109 118 0.108) gunicorn-registry stdout | 2025-09-26 08:33:32,748 [256] [DEBUG] [app] Ending request: urn:request:596790e1-65c5-45f1-95bd-399ae317bde0 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:596790e1-65c5-45f1-95bd-399ae317bde0', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:33:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.005 162 0.004) gunicorn-registry stdout | 2025-09-26 08:33:32,749 [256] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:33:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:33:32,750 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-registry stdout | 2025-09-26 08:33:32,750 [256] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '256'} gunicorn-web stdout | 2025-09-26 08:33:32,751 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:33:32,752 [242] [DEBUG] [app] Starting request: urn:request:e10898c2-0f31-4a18-9d2b-edbb2d3ef9c8 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:33:32,753 [242] [DEBUG] [app] Ending request: urn:request:e10898c2-0f31-4a18-9d2b-edbb2d3ef9c8 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:e10898c2-0f31-4a18-9d2b-edbb2d3ef9c8', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:33:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:33:32,754 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:33:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:33:32,754 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:33:32,757 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."kid", "t1"."service", "t1"."jwk", "t1"."metadata", "t1"."created_date", "t1"."expiration_date", "t1"."rotation_duration", "t1"."approval_id" FROM "servicekey" AS "t1" LEFT OUTER JOIN "servicekeyapproval" AS "t2" ON ("t1"."approval_id" = "t2"."id") WHERE ((((NOT ("t1"."approval_id" IS %s) AND (("t1"."expiration_date" > %s) OR ("t1"."expiration_date" IS %s))) AND ("t1"."service" = %s)) AND (NOT (("t1"."service" = %s) AND ("t1"."expiration_date" <= %s)) OR NOT ((("t1"."service" = %s) AND ("t1"."approval_id" IS %s)) AND ("t1"."created_date" <= %s)))) AND (NOT ("t1"."expiration_date" <= %s) OR ("t1"."expiration_date" IS %s)))', [None, datetime.datetime(2025, 9, 26, 8, 33, 32, 756184), None, 'quay', 'quay', datetime.datetime(2025, 9, 26, 8, 33, 32, 756216), 'quay', None, datetime.datetime(2025, 9, 25, 8, 33, 32, 756245), datetime.datetime(2025, 9, 19, 8, 33, 32, 756263), None]) gunicorn-web stdout | 2025-09-26 08:33:32,770 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:33:32,770 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:33:32,770 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:33:32,778 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:33:32,778 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:33:32,781 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:33:32,784 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:33:32,787 [242] [DEBUG] [app] Ending request: urn:request:50d5738e-1cc8-4d49-81fb-6eb55a2b0012 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:50d5738e-1cc8-4d49-81fb-6eb55a2b0012', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:33:32,788 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:33:32,788 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:33:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:33:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.056 118 0.055) exportactionlogsworker stdout | 2025-09-26 08:33:33,475 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} proxycacheblobworker stdout | 2025-09-26 08:33:33,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:33:33,546 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:43.545186+00:00 (in 9.999099 seconds) proxycacheblobworker stdout | 2025-09-26 08:33:33,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:43 GMT)" (scheduled at 2025-09-26 08:33:33.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:33:33,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:33:33,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 33, 33, 546422), True, datetime.datetime(2025, 9, 26, 8, 33, 33, 546422), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:33:33,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:33:33,559 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:33:33,559 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:43 GMT)" executed successfully gcworker stdout | 2025-09-26 08:33:34,439 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:33:34,440 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:51.444401+00:00 (in 17.004181 seconds) gcworker stdout | 2025-09-26 08:33:34,440 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:04 GMT)" (scheduled at 2025-09-26 08:33:34.439268+00:00) gcworker stdout | 2025-09-26 08:33:34,440 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:33:34,440 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:04 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:33:34,441 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:33:34,441 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:36.440077+00:00 (in 1.998105 seconds) notificationworker stdout | 2025-09-26 08:33:34,442 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:34:34 GMT)" (scheduled at 2025-09-26 08:33:34.441526+00:00) notificationworker stdout | 2025-09-26 08:33:34,442 [68] [DEBUG] [workers.queueworker] Running watchdog. notificationworker stdout | 2025-09-26 08:33:34,442 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:34:34 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:33:34,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:33:34,735 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:04.734534+00:00 (in 29.999509 seconds) autopruneworker stdout | 2025-09-26 08:33:34,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:04 GMT)" (scheduled at 2025-09-26 08:33:34.734534+00:00) autopruneworker stdout | 2025-09-26 08:33:34,745 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758872014744, None, 1, 0]) autopruneworker stdout | 2025-09-26 08:33:34,750 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:33:34,750 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:33:34,750 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:04 GMT)" executed successfully namespacegcworker stdout | 2025-09-26 08:33:34,843 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:33:34,843 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:33:34 GMT)" (scheduled at 2025-09-26 08:33:34.840898+00:00) namespacegcworker stdout | 2025-09-26 08:33:34,844 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:58.835976+00:00 (in 23.991871 seconds) namespacegcworker stdout | 2025-09-26 08:33:34,844 [66] [DEBUG] [workers.queueworker] Running watchdog. namespacegcworker stdout | 2025-09-26 08:33:34,844 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:34:34 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:33:36,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:33:36,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:46.440077+00:00 (in 9.999542 seconds) notificationworker stdout | 2025-09-26 08:33:36,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:46 GMT)" (scheduled at 2025-09-26 08:33:36.440077+00:00) notificationworker stdout | 2025-09-26 08:33:36,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:33:36,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 33, 36, 440920), True, datetime.datetime(2025, 9, 26, 8, 33, 36, 440920), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:33:36,456 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:33:36,456 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:33:36,456 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:46 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:33:36,779 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} proxycacheblobworker stdout | 2025-09-26 08:33:39,075 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} repositorygcworker stdout | 2025-09-26 08:33:39,235 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:33:39,236 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:23.149141+00:00 (in 43.912983 seconds) repositorygcworker stdout | 2025-09-26 08:33:39,236 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:34:39 GMT)" (scheduled at 2025-09-26 08:33:39.235682+00:00) repositorygcworker stdout | 2025-09-26 08:33:39,236 [86] [DEBUG] [workers.queueworker] Running watchdog. repositorygcworker stdout | 2025-09-26 08:33:39,236 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:34:39 GMT)" executed successfully buildlogsarchiver stdout | 2025-09-26 08:33:39,351 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:33:39,352 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:09.351551+00:00 (in 29.999439 seconds) buildlogsarchiver stdout | 2025-09-26 08:33:39,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:09 GMT)" (scheduled at 2025-09-26 08:33:39.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:33:39,352 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 33, 39, 352400), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:33:39,366 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:33:39,366 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:33:39,366 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:09 GMT)" executed successfully manifestbackfillworker stdout | 2025-09-26 08:33:40,163 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} securityscanningnotificationworker stdout | 2025-09-26 08:33:42,242 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:33:42,242 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:22.245238+00:00 (in 40.002269 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:33:42,243 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:34:42 GMT)" (scheduled at 2025-09-26 08:33:42.242482+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:33:42,243 [88] [DEBUG] [workers.queueworker] Getting work item from queue. securityscanningnotificationworker stdout | 2025-09-26 08:33:42,244 [88] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 33, 42, 243276), True, datetime.datetime(2025, 9, 26, 8, 33, 42, 243276), 0, 'secscanv4/%', 50, 1, 0]) securityscanningnotificationworker stdout | 2025-09-26 08:33:42,257 [88] [DEBUG] [workers.queueworker] No more work. securityscanningnotificationworker stdout | 2025-09-26 08:33:42,257 [88] [DEBUG] [data.database] Disconnecting from database. securityscanningnotificationworker stdout | 2025-09-26 08:33:42,257 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:34:42 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:33:43,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:33:43,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:47.547669+00:00 (in 4.002015 seconds) proxycacheblobworker stdout | 2025-09-26 08:33:43,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:53 GMT)" (scheduled at 2025-09-26 08:33:43.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:33:43,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:33:43,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 33, 43, 546080), True, datetime.datetime(2025, 9, 26, 8, 33, 43, 546080), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:33:43,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:33:43,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:33:43,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:53 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:33:45,947 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:33:45,948 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:33:45 GMT)" (scheduled at 2025-09-26 08:33:45.946993+00:00) exportactionlogsworker stdout | 2025-09-26 08:33:45,948 [56] [DEBUG] [workers.queueworker] Running watchdog. exportactionlogsworker stdout | 2025-09-26 08:33:45,948 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:33:45 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:33:45,949 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:50.940190+00:00 (in 4.990852 seconds) notificationworker stdout | 2025-09-26 08:33:46,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:33:46,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:56.440077+00:00 (in 9.999551 seconds) notificationworker stdout | 2025-09-26 08:33:46,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:56 GMT)" (scheduled at 2025-09-26 08:33:46.440077+00:00) notificationworker stdout | 2025-09-26 08:33:46,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:33:46,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 33, 46, 440891), True, datetime.datetime(2025, 9, 26, 8, 33, 46, 440891), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:33:46,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:33:46,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:33:46,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:33:56 GMT)" executed successfully securityworker stdout | 2025-09-26 08:33:47,167 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} proxycacheblobworker stdout | 2025-09-26 08:33:47,547 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:33:47,548 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:53.545186+00:00 (in 5.997034 seconds) proxycacheblobworker stdout | 2025-09-26 08:33:47,548 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:38:47 GMT)" (scheduled at 2025-09-26 08:33:47.547669+00:00) proxycacheblobworker stdout | 2025-09-26 08:33:47,548 [69] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [False, datetime.datetime(2025, 9, 26, 8, 33, 47, 548444), 'proxycacheblob/%']) proxycacheblobworker stdout | 2025-09-26 08:33:47,560 [69] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 33, 47, 548444), True, datetime.datetime(2025, 9, 26, 8, 33, 47, 548444), 0, 'proxycacheblob/%']) proxycacheblobworker stdout | 2025-09-26 08:33:47,564 [69] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) AND NOT ("t1"."queue_name" IN (SELECT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s)))))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 33, 47, 548444), True, datetime.datetime(2025, 9, 26, 8, 33, 47, 548444), 0, 'proxycacheblob/%', False, datetime.datetime(2025, 9, 26, 8, 33, 47, 548444), 'proxycacheblob/%']) proxycacheblobworker stdout | 2025-09-26 08:33:47,568 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:33:47,568 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:38:47 GMT)" executed successfully gunicorn-web stdout | 2025-09-26 08:33:47,640 [240] [DEBUG] [app] Starting request: urn:request:65a59b95-4f11-42db-89c2-221a7d982b7d (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:33:47,641 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:33:47,644 [256] [DEBUG] [app] Starting request: urn:request:bc42c61e-55ad-4ad4-a0e8-d3889bab3d29 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:33:47,645 [256] [DEBUG] [app] Ending request: urn:request:bc42c61e-55ad-4ad4-a0e8-d3889bab3d29 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:bc42c61e-55ad-4ad4-a0e8-d3889bab3d29', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:33:47,645 [256] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:33:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:33:47,645 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:33:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:33:47,646 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:33:47,648 [242] [DEBUG] [app] Starting request: urn:request:1cb1ddd8-cfd5-4256-b924-04c1a6cb997e (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:33:47,649 [242] [DEBUG] [app] Ending request: urn:request:1cb1ddd8-cfd5-4256-b924-04c1a6cb997e (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:1cb1ddd8-cfd5-4256-b924-04c1a6cb997e', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:33:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:33:47,649 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:33:47,649 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:33:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:33:47,650 [240] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:33:47,650 [240] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:33:47,650 [240] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:33:47,657 [240] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:33:47,657 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:33:47,668 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:33:47,672 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:33:47,676 [240] [DEBUG] [app] Ending request: urn:request:65a59b95-4f11-42db-89c2-221a7d982b7d (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:65a59b95-4f11-42db-89c2-221a7d982b7d', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:33:47,676 [240] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:33:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.039 118 0.039) gunicorn-web stdout | 2025-09-26 08:33:47,677 [240] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:33:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" gunicorn-web stdout | 2025-09-26 08:33:47,727 [242] [DEBUG] [app] Starting request: urn:request:e9769c7f-f4af-497b-b86f-2802bdc3276f (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:33:47,729 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:33:47,731 [256] [DEBUG] [app] Starting request: urn:request:64e880a6-8f96-44bd-8c87-de184caabf30 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:33:47,732 [256] [DEBUG] [app] Ending request: urn:request:64e880a6-8f96-44bd-8c87-de184caabf30 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:64e880a6-8f96-44bd-8c87-de184caabf30', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:33:47,732 [256] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:33:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:33:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.001) gunicorn-web stdout | 2025-09-26 08:33:47,732 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:33:47,733 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:33:47,734 [239] [DEBUG] [app] Starting request: urn:request:bee06a2b-6b46-4f2e-9172-e5bd23fe9c64 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:33:47,735 [239] [DEBUG] [app] Ending request: urn:request:bee06a2b-6b46-4f2e-9172-e5bd23fe9c64 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:bee06a2b-6b46-4f2e-9172-e5bd23fe9c64', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:33:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:33:47,735 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:33:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:33:47,735 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:33:47,736 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:33:47,736 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:33:47,736 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:33:47,744 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:33:47,744 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:33:47,755 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:33:47,759 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:33:47,762 [242] [DEBUG] [app] Ending request: urn:request:e9769c7f-f4af-497b-b86f-2802bdc3276f (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:e9769c7f-f4af-497b-b86f-2802bdc3276f', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:33:47,762 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:33:47,763 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:33:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:33:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.037 118 0.037) securityworker stdout | 2025-09-26 08:33:49,334 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:33:49,334 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:33:57.335452+00:00 (in 8.000732 seconds) securityworker stdout | 2025-09-26 08:33:49,334 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:19 GMT)" (scheduled at 2025-09-26 08:33:49.334273+00:00) securityworker stdout | 2025-09-26 08:33:49,335 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:33:49,335 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:33:49,338 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:33:49,339 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:33:49,352 [89] [DEBUG] [peewee] ('SELECT Min("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:33:49,355 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stdout | 2025-09-26 08:33:49,355 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:19 GMT)" executed successfully logrotateworker stdout | 2025-09-26 08:33:50,189 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} exportactionlogsworker stdout | 2025-09-26 08:33:50,940 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:33:50,941 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:45.946993+00:00 (in 55.005930 seconds) exportactionlogsworker stdout | 2025-09-26 08:33:50,941 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:34:50 GMT)" (scheduled at 2025-09-26 08:33:50.940190+00:00) exportactionlogsworker stdout | 2025-09-26 08:33:50,941 [56] [DEBUG] [workers.queueworker] Getting work item from queue. exportactionlogsworker stdout | 2025-09-26 08:33:50,942 [56] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 33, 50, 941388), True, datetime.datetime(2025, 9, 26, 8, 33, 50, 941388), 0, 'exportactionlogs/%', 50, 1, 0]) exportactionlogsworker stdout | 2025-09-26 08:33:50,956 [56] [DEBUG] [workers.queueworker] No more work. exportactionlogsworker stdout | 2025-09-26 08:33:50,956 [56] [DEBUG] [data.database] Disconnecting from database. exportactionlogsworker stdout | 2025-09-26 08:33:50,956 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:34:50 GMT)" executed successfully buildlogsarchiver stdout | 2025-09-26 08:33:51,279 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'} gcworker stdout | 2025-09-26 08:33:51,444 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:33:51,444 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:04.439268+00:00 (in 12.994329 seconds) gcworker stdout | 2025-09-26 08:33:51,445 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:21 GMT)" (scheduled at 2025-09-26 08:33:51.444401+00:00) gcworker stdout | 2025-09-26 08:33:51,445 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) gcworker stdout | 2025-09-26 08:33:51,456 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875331456, None, 1, 0]) gcworker stdout | 2025-09-26 08:33:51,460 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:33:51,460 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:21 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:33:51,963 [64] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestsubjectbackfillworker.py', 'pid': '64'} storagereplication stdout | 2025-09-26 08:33:53,000 [95] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'storagereplication.py', 'pid': '95'} teamsyncworker stdout | 2025-09-26 08:33:53,466 [105] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'teamsyncworker.py', 'pid': '105'} servicekey stdout | 2025-09-26 08:33:53,471 [93] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'servicekeyworker.py', 'pid': '93'} blobuploadcleanupworker stdout | 2025-09-26 08:33:53,475 [50] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'blobuploadcleanupworker.py', 'pid': '50'} proxycacheblobworker stdout | 2025-09-26 08:33:53,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:33:53,546 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:03.545186+00:00 (in 9.999168 seconds) proxycacheblobworker stdout | 2025-09-26 08:33:53,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:03 GMT)" (scheduled at 2025-09-26 08:33:53.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:33:53,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:33:53,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 33, 53, 546364), True, datetime.datetime(2025, 9, 26, 8, 33, 53, 546364), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:33:53,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:33:53,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:33:53,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:03 GMT)" executed successfully gcworker stdout | 2025-09-26 08:33:53,962 [57] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'gcworker.py', 'pid': '57'} queuecleanupworker stdout | 2025-09-26 08:33:54,064 [71] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'queuecleanupworker.py', 'pid': '71'} securityscanningnotificationworker stdout | 2025-09-26 08:33:54,381 [88] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityscanningnotificationworker.py', 'pid': '88'} chunkcleanupworker stdout | 2025-09-26 08:33:54,677 [53] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'chunkcleanupworker.py', 'pid': '53'} repositorygcworker stdout | 2025-09-26 08:33:55,381 [86] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositorygcworker.py', 'pid': '86'} gunicorn-secscan stdout | 2025-09-26 08:33:55,525 [227] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '227'} gunicorn-secscan stdout | 2025-09-26 08:33:55,529 [228] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '228'} gunicorn-secscan stdout | 2025-09-26 08:33:55,532 [60] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '60'} namespacegcworker stdout | 2025-09-26 08:33:55,782 [66] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'namespacegcworker.py', 'pid': '66'} repositoryactioncounter stdout | 2025-09-26 08:33:56,265 [80] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositoryactioncounter.py', 'pid': '80'} expiredappspecifictokenworker stdout | 2025-09-26 08:33:56,374 [55] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'expiredappspecifictokenworker.py', 'pid': '55'} gunicorn-web stdout | 2025-09-26 08:33:56,394 [240] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '240'} gunicorn-web stdout | 2025-09-26 08:33:56,397 [239] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '239'} notificationworker stdout | 2025-09-26 08:33:56,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:33:56,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:06.440077+00:00 (in 9.999547 seconds) notificationworker stdout | 2025-09-26 08:33:56,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:06 GMT)" (scheduled at 2025-09-26 08:33:56.440077+00:00) notificationworker stdout | 2025-09-26 08:33:56,441 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:33:56,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 33, 56, 441046), True, datetime.datetime(2025, 9, 26, 8, 33, 56, 441046), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:33:56,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:33:56,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:33:56,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:06 GMT)" executed successfully gunicorn-web stdout | 2025-09-26 08:33:56,471 [242] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '242'} gunicorn-web stdout | 2025-09-26 08:33:56,475 [61] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '61'} gunicorn-web stdout | 2025-09-26 08:33:56,479 [241] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '241'} builder stdout | 2025-09-26 08:33:56,672 [51] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'builder.py', 'pid': '51'} securityworker stdout | 2025-09-26 08:33:57,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:33:57,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:19.334273+00:00 (in 21.998316 seconds) securityworker stdout | 2025-09-26 08:33:57,336 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:27 GMT)" (scheduled at 2025-09-26 08:33:57.335452+00:00) securityworker stdout | 2025-09-26 08:33:57,337 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:33:57,337 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:33:57,340 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:33:57,341 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:33:57,355 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:33:57,355 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:33:57,355 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:33:57,355 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:33:57,356 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 2]) securityworker stdout | 2025-09-26 08:33:57,360 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:33:57,360 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:33:57,360 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:33:57,361 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:33:57,361 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:33:57,361 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:33:57,361 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:33:57,361 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:33:57,361 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:33:57,361 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:33:57,362 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:33:57,362 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 28, 57, 341298), 1, 2]) securityworker stdout | 2025-09-26 08:33:57,366 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:33:57,366 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:33:57,366 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:33:57,366 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:33:57,366 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:33:57,366 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:33:57,366 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:33:57,366 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:33:57,366 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:33:57,366 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:33:57,366 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:33:57,367 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 28, 57, 341298), 1, 2]) securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:33:57,371 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:33:57,371 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:33:57,371 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:33:57,371 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:33:57,371 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:33:57,371 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:33:57,371 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:33:57,371 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:33:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:33:57,371 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:27 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:33:57,580 [68] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'notificationworker.py', 'pid': '68'} namespacegcworker stdout | 2025-09-26 08:33:58,836 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:33:58,836 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:12.840568+00:00 (in 14.004010 seconds) namespacegcworker stdout | 2025-09-26 08:33:58,836 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:34:58 GMT)" (scheduled at 2025-09-26 08:33:58.835976+00:00) namespacegcworker stdout | 2025-09-26 08:33:58,836 [66] [DEBUG] [workers.queueworker] Getting work item from queue. namespacegcworker stdout | 2025-09-26 08:33:58,837 [66] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 33, 58, 836927), True, datetime.datetime(2025, 9, 26, 8, 33, 58, 836927), 0, 'namespacegc/%', 50, 1, 0]) namespacegcworker stdout | 2025-09-26 08:33:58,852 [66] [DEBUG] [workers.queueworker] No more work. namespacegcworker stdout | 2025-09-26 08:33:58,852 [66] [DEBUG] [data.database] Disconnecting from database. namespacegcworker stdout | 2025-09-26 08:33:58,852 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:34:58 GMT)" executed successfully globalpromstats stdout | 2025-09-26 08:33:59,965 [58] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'globalpromstats.py', 'pid': '58'} gunicorn-web stdout | 2025-09-26 08:34:02,640 [242] [DEBUG] [app] Starting request: urn:request:dd5fc2f6-a69f-4870-8ca8-148663e3cd4e (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:34:02,641 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:34:02,646 [256] [DEBUG] [app] Starting request: urn:request:15b42675-6905-4854-82e0-d54b3c5a99ad (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:34:02,646 [256] [DEBUG] [app] Ending request: urn:request:15b42675-6905-4854-82e0-d54b3c5a99ad (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:15b42675-6905-4854-82e0-d54b3c5a99ad', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:34:02,646 [256] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:34:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:34:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.001) gunicorn-web stdout | 2025-09-26 08:34:02,647 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:34:02,648 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:34:02,649 [242] [DEBUG] [app] Starting request: urn:request:3b0a5b50-7267-4768-bd7e-cd7c03d9af22 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:34:02,650 [242] [DEBUG] [app] Ending request: urn:request:3b0a5b50-7267-4768-bd7e-cd7c03d9af22 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:3b0a5b50-7267-4768-bd7e-cd7c03d9af22', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:34:02,650 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:34:02 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:34:02 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:34:02,650 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:34:02,651 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:34:02,651 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:34:02,651 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:34:02,660 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:34:02,660 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:34:02,670 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:34:02,674 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-registry stdout | 2025-09-26 08:34:02,675 [257] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '257'} gunicorn-web stdout | 2025-09-26 08:34:02,678 [242] [DEBUG] [app] Ending request: urn:request:dd5fc2f6-a69f-4870-8ca8-148663e3cd4e (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:dd5fc2f6-a69f-4870-8ca8-148663e3cd4e', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:34:02,678 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:34:02,679 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:34:02 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:34:02 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.040 118 0.040) gunicorn-registry stdout | 2025-09-26 08:34:02,680 [252] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '252'} gunicorn-registry stdout | 2025-09-26 08:34:02,686 [59] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '59'} gunicorn-registry stdout | 2025-09-26 08:34:02,689 [254] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '254'} gunicorn-web stdout | 2025-09-26 08:34:02,727 [242] [DEBUG] [app] Starting request: urn:request:5fd31379-2cd3-48eb-9874-cc40e5bf6d8b (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:34:02,729 [250] [DEBUG] [app] Starting request: urn:request:0bff9002-60aa-4dbc-9b5d-22bf2ab6933b (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:34:02,729 [250] [DEBUG] [app] Ending request: urn:request:0bff9002-60aa-4dbc-9b5d-22bf2ab6933b (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:0bff9002-60aa-4dbc-9b5d-22bf2ab6933b', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:34:02,730 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:34:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:34:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.002) gunicorn-web stdout | 2025-09-26 08:34:02,730 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:34:02,731 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:34:02,733 [239] [DEBUG] [app] Starting request: urn:request:e9277e02-ccd9-42d3-b46d-753fc6ea1b38 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:34:02,733 [239] [DEBUG] [app] Ending request: urn:request:e9277e02-ccd9-42d3-b46d-753fc6ea1b38 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:e9277e02-ccd9-42d3-b46d-753fc6ea1b38', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:34:02 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:34:02,734 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:34:02 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:34:02,734 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:34:02,734 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:34:02,735 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:34:02,735 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:34:02,744 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:34:02,744 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:34:02,756 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-registry stdout | 2025-09-26 08:34:02,758 [255] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '255'} gunicorn-web stdout | 2025-09-26 08:34:02,760 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:34:02,763 [242] [DEBUG] [app] Ending request: urn:request:5fd31379-2cd3-48eb-9874-cc40e5bf6d8b (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:5fd31379-2cd3-48eb-9874-cc40e5bf6d8b', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:34:02,763 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:34:02,764 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:34:02 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" gunicorn-registry stdout | 2025-09-26 08:34:02,764 [253] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '253'} nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:34:02 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.038 118 0.038) gunicorn-registry stdout | 2025-09-26 08:34:02,768 [251] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '251'} gunicorn-registry stdout | 2025-09-26 08:34:02,773 [256] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '256'} gunicorn-registry stdout | 2025-09-26 08:34:02,777 [250] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '250'} exportactionlogsworker stdout | 2025-09-26 08:34:03,492 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} proxycacheblobworker stdout | 2025-09-26 08:34:03,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:34:03,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:13.545186+00:00 (in 9.999528 seconds) proxycacheblobworker stdout | 2025-09-26 08:34:03,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:13 GMT)" (scheduled at 2025-09-26 08:34:03.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:34:03,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:34:03,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 34, 3, 546026), True, datetime.datetime(2025, 9, 26, 8, 34, 3, 546026), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:34:03,561 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:34:03,561 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:34:03,561 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:13 GMT)" executed successfully gcworker stdout | 2025-09-26 08:34:04,439 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:34:04,440 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:21.444401+00:00 (in 17.004359 seconds) gcworker stdout | 2025-09-26 08:34:04,440 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:34 GMT)" (scheduled at 2025-09-26 08:34:04.439268+00:00) gcworker stdout | 2025-09-26 08:34:04,440 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:34:04,440 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:34 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:34:04,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:34:04,735 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:34.734534+00:00 (in 29.999496 seconds) autopruneworker stdout | 2025-09-26 08:34:04,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:34 GMT)" (scheduled at 2025-09-26 08:34:04.734534+00:00) autopruneworker stdout | 2025-09-26 08:34:04,743 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758872044743, None, 1, 0]) autopruneworker stdout | 2025-09-26 08:34:04,749 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:34:04,749 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:34:04,749 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:34 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:34:06,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:34:06,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:16.440077+00:00 (in 9.999556 seconds) notificationworker stdout | 2025-09-26 08:34:06,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:16 GMT)" (scheduled at 2025-09-26 08:34:06.440077+00:00) notificationworker stdout | 2025-09-26 08:34:06,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:34:06,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 34, 6, 441042), True, datetime.datetime(2025, 9, 26, 8, 34, 6, 441042), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:34:06,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:34:06,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:34:06,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:16 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:34:06,796 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} proxycacheblobworker stdout | 2025-09-26 08:34:09,091 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} buildlogsarchiver stdout | 2025-09-26 08:34:09,351 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:34:09,352 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:39.351551+00:00 (in 29.999548 seconds) buildlogsarchiver stdout | 2025-09-26 08:34:09,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:39 GMT)" (scheduled at 2025-09-26 08:34:09.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:34:09,352 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 34, 9, 352289), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:34:09,366 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:34:09,366 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:34:09,366 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:39 GMT)" executed successfully manifestbackfillworker stdout | 2025-09-26 08:34:10,180 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} namespacegcworker stdout | 2025-09-26 08:34:12,840 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:34:12,841 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:34.840898+00:00 (in 21.999791 seconds) namespacegcworker stdout | 2025-09-26 08:34:12,841 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:39:12 GMT)" (scheduled at 2025-09-26 08:34:12.840568+00:00) namespacegcworker stdout | 2025-09-26 08:34:12,841 [66] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [False, datetime.datetime(2025, 9, 26, 8, 34, 12, 841385), 'namespacegc/%']) namespacegcworker stdout | 2025-09-26 08:34:12,854 [66] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 34, 12, 841385), True, datetime.datetime(2025, 9, 26, 8, 34, 12, 841385), 0, 'namespacegc/%']) namespacegcworker stdout | 2025-09-26 08:34:12,858 [66] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) AND NOT ("t1"."queue_name" IN (SELECT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s)))))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 34, 12, 841385), True, datetime.datetime(2025, 9, 26, 8, 34, 12, 841385), 0, 'namespacegc/%', False, datetime.datetime(2025, 9, 26, 8, 34, 12, 841385), 'namespacegc/%']) namespacegcworker stdout | 2025-09-26 08:34:12,862 [66] [DEBUG] [data.database] Disconnecting from database. namespacegcworker stdout | 2025-09-26 08:34:12,862 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:39:12 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:34:13,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:34:13,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:13.548017+00:00 (in 0.002373 seconds) proxycacheblobworker stdout | 2025-09-26 08:34:13,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:23 GMT)" (scheduled at 2025-09-26 08:34:13.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:34:13,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:34:13,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 34, 13, 546103), True, datetime.datetime(2025, 9, 26, 8, 34, 13, 546103), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:34:13,548 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:34:13,548 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:23.545186+00:00 (in 9.996824 seconds) proxycacheblobworker stdout | 2025-09-26 08:34:13,548 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:13 GMT)" (scheduled at 2025-09-26 08:34:13.548017+00:00) proxycacheblobworker stdout | 2025-09-26 08:34:13,548 [69] [DEBUG] [workers.queueworker] Running watchdog. proxycacheblobworker stdout | 2025-09-26 08:34:13,548 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:13 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:34:13,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:34:13,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:34:13,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:23 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:34:13,758 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:34:13,758 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:13.760217+00:00 (in 0.001408 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:34:13,759 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:13 GMT)" (scheduled at 2025-09-26 08:34:13.757911+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:34:13,759 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."subject_backfilled" = %s) OR ("t1"."subject_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:34:13,760 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:34:13,760 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:13.757911+00:00 (in 59.997326 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:34:13,760 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:13 GMT)" (scheduled at 2025-09-26 08:34:13.760217+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:34:13,761 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."artifact_type_backfilled" = %s) OR ("t1"."artifact_type_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:34:13,772 [64] [DEBUG] [__main__] Manifest subject backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:34:13,772 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:34:13,774 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:13 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:34:13,779 [64] [DEBUG] [__main__] Manifest artifact_type backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:34:13,779 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:34:13,779 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:13 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:34:16,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:34:16,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:26.440077+00:00 (in 9.999558 seconds) notificationworker stdout | 2025-09-26 08:34:16,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:26 GMT)" (scheduled at 2025-09-26 08:34:16.440077+00:00) notificationworker stdout | 2025-09-26 08:34:16,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:34:16,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 34, 16, 440835), True, datetime.datetime(2025, 9, 26, 8, 34, 16, 440835), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:34:16,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:34:16,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:34:16,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:26 GMT)" executed successfully securityworker stdout | 2025-09-26 08:34:17,188 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} gunicorn-web stdout | 2025-09-26 08:34:17,641 [242] [DEBUG] [app] Starting request: urn:request:a7070980-161b-4025-a571-52db87533944 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:34:17,642 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:34:17,643 [256] [DEBUG] [app] Starting request: urn:request:f118d13d-9a97-4401-bc85-1d8a19358bdd (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:34:17,644 [256] [DEBUG] [app] Ending request: urn:request:f118d13d-9a97-4401-bc85-1d8a19358bdd (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:f118d13d-9a97-4401-bc85-1d8a19358bdd', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:34:17,644 [256] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:34:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:34:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-web stdout | 2025-09-26 08:34:17,644 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:34:17,645 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:34:17,647 [242] [DEBUG] [app] Starting request: urn:request:0bdcb1aa-7d3b-426b-82d4-a879eafaf3d4 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:34:17,647 [242] [DEBUG] [app] Ending request: urn:request:0bdcb1aa-7d3b-426b-82d4-a879eafaf3d4 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:0bdcb1aa-7d3b-426b-82d4-a879eafaf3d4', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:34:17,647 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:34:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:34:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:34:17,648 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:34:17,648 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:34:17,648 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:34:17,648 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:34:17,656 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:34:17,656 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:34:17,666 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:34:17,670 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:34:17,673 [242] [DEBUG] [app] Ending request: urn:request:a7070980-161b-4025-a571-52db87533944 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:a7070980-161b-4025-a571-52db87533944', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:34:17,673 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:34:17,673 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:34:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:34:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.033 118 0.033) gunicorn-web stdout | 2025-09-26 08:34:17,727 [239] [DEBUG] [app] Starting request: urn:request:137f3fd6-3f86-4aa5-9ffa-c52ce9cf3476 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:34:17,728 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:34:17,730 [250] [DEBUG] [app] Starting request: urn:request:5f9e6262-275e-4b8d-b1dd-c25a9aafb291 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:34:17,731 [250] [DEBUG] [app] Ending request: urn:request:5f9e6262-275e-4b8d-b1dd-c25a9aafb291 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:5f9e6262-275e-4b8d-b1dd-c25a9aafb291', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:34:17,731 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:34:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:34:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-web stdout | 2025-09-26 08:34:17,731 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:34:17,732 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:34:17,733 [239] [DEBUG] [app] Starting request: urn:request:3f80f918-a1da-42e0-8e90-851970d6cd1b (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:34:17,734 [239] [DEBUG] [app] Ending request: urn:request:3f80f918-a1da-42e0-8e90-851970d6cd1b (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:3f80f918-a1da-42e0-8e90-851970d6cd1b', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:34:17,734 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:34:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:34:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:34:17,734 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:34:17,734 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:34:17,735 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:34:17,735 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:34:17,743 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:34:17,743 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:34:17,752 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:34:17,756 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:34:17,759 [239] [DEBUG] [app] Ending request: urn:request:137f3fd6-3f86-4aa5-9ffa-c52ce9cf3476 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:137f3fd6-3f86-4aa5-9ffa-c52ce9cf3476', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:34:17,759 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:34:17,760 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:34:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:34:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.032 118 0.033) securityworker stdout | 2025-09-26 08:34:19,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:34:19,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:27.335452+00:00 (in 7.999766 seconds) securityworker stdout | 2025-09-26 08:34:19,335 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:49 GMT)" (scheduled at 2025-09-26 08:34:19.334273+00:00) securityworker stdout | 2025-09-26 08:34:19,336 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:34:19,336 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:34:19,341 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:34:19,343 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:34:19,355 [89] [DEBUG] [peewee] ('SELECT Min("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:34:19,358 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stdout | 2025-09-26 08:34:19,358 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:49 GMT)" executed successfully logrotateworker stdout | 2025-09-26 08:34:20,205 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} buildlogsarchiver stdout | 2025-09-26 08:34:21,294 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'} gcworker stdout | 2025-09-26 08:34:21,444 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:34:21,444 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:34.439268+00:00 (in 12.994357 seconds) gcworker stdout | 2025-09-26 08:34:21,445 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:51 GMT)" (scheduled at 2025-09-26 08:34:21.444401+00:00) gcworker stdout | 2025-09-26 08:34:21,445 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) gcworker stdout | 2025-09-26 08:34:21,456 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875361456, None, 1, 0]) gcworker stdout | 2025-09-26 08:34:21,461 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:34:21,461 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:51 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:34:21,979 [64] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestsubjectbackfillworker.py', 'pid': '64'} securityscanningnotificationworker stdout | 2025-09-26 08:34:22,245 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:34:22,245 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:42.242482+00:00 (in 19.996748 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:34:22,245 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:22 GMT)" (scheduled at 2025-09-26 08:34:22.245238+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:34:22,246 [88] [DEBUG] [workers.queueworker] Running watchdog. securityscanningnotificationworker stdout | 2025-09-26 08:34:22,246 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:22 GMT)" executed successfully storagereplication stdout | 2025-09-26 08:34:23,023 [95] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'storagereplication.py', 'pid': '95'} repositorygcworker stdout | 2025-09-26 08:34:23,149 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:34:23,149 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:39.235682+00:00 (in 16.086093 seconds) repositorygcworker stdout | 2025-09-26 08:34:23,149 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:23 GMT)" (scheduled at 2025-09-26 08:34:23.149141+00:00) repositorygcworker stdout | 2025-09-26 08:34:23,149 [86] [DEBUG] [workers.queueworker] Getting work item from queue. repositorygcworker stdout | 2025-09-26 08:34:23,150 [86] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 34, 23, 149834), True, datetime.datetime(2025, 9, 26, 8, 34, 23, 149834), 0, 'repositorygc/%', 50, 1, 0]) repositorygcworker stdout | 2025-09-26 08:34:23,162 [86] [DEBUG] [workers.queueworker] No more work. repositorygcworker stdout | 2025-09-26 08:34:23,162 [86] [DEBUG] [data.database] Disconnecting from database. repositorygcworker stdout | 2025-09-26 08:34:23,162 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:23 GMT)" executed successfully teamsyncworker stdout | 2025-09-26 08:34:23,487 [105] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'teamsyncworker.py', 'pid': '105'} servicekey stdout | 2025-09-26 08:34:23,491 [93] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'servicekeyworker.py', 'pid': '93'} blobuploadcleanupworker stdout | 2025-09-26 08:34:23,495 [50] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'blobuploadcleanupworker.py', 'pid': '50'} proxycacheblobworker stdout | 2025-09-26 08:34:23,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:34:23,546 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:33.545186+00:00 (in 9.999198 seconds) proxycacheblobworker stdout | 2025-09-26 08:34:23,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:33 GMT)" (scheduled at 2025-09-26 08:34:23.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:34:23,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:34:23,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 34, 23, 546492), True, datetime.datetime(2025, 9, 26, 8, 34, 23, 546492), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:34:23,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:34:23,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:34:23,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:33 GMT)" executed successfully gcworker stdout | 2025-09-26 08:34:23,980 [57] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'gcworker.py', 'pid': '57'} queuecleanupworker stdout | 2025-09-26 08:34:24,081 [71] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'queuecleanupworker.py', 'pid': '71'} securityscanningnotificationworker stdout | 2025-09-26 08:34:24,401 [88] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityscanningnotificationworker.py', 'pid': '88'} chunkcleanupworker stdout | 2025-09-26 08:34:24,694 [53] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'chunkcleanupworker.py', 'pid': '53'} repositorygcworker stdout | 2025-09-26 08:34:25,401 [86] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositorygcworker.py', 'pid': '86'} gunicorn-secscan stdout | 2025-09-26 08:34:25,543 [227] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '227'} gunicorn-secscan stdout | 2025-09-26 08:34:25,547 [228] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '228'} gunicorn-secscan stdout | 2025-09-26 08:34:25,550 [60] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '60'} namespacegcworker stdout | 2025-09-26 08:34:25,798 [66] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'namespacegcworker.py', 'pid': '66'} repositoryactioncounter stdout | 2025-09-26 08:34:26,282 [80] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositoryactioncounter.py', 'pid': '80'} expiredappspecifictokenworker stdout | 2025-09-26 08:34:26,389 [55] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'expiredappspecifictokenworker.py', 'pid': '55'} gunicorn-web stdout | 2025-09-26 08:34:26,412 [240] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '240'} gunicorn-web stdout | 2025-09-26 08:34:26,416 [239] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '239'} notificationworker stdout | 2025-09-26 08:34:26,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:34:26,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:34.441526+00:00 (in 8.001031 seconds) notificationworker stdout | 2025-09-26 08:34:26,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:36 GMT)" (scheduled at 2025-09-26 08:34:26.440077+00:00) notificationworker stdout | 2025-09-26 08:34:26,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:34:26,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 34, 26, 440897), True, datetime.datetime(2025, 9, 26, 8, 34, 26, 440897), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:34:26,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:34:26,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:34:26,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:36 GMT)" executed successfully gunicorn-web stdout | 2025-09-26 08:34:26,491 [242] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '242'} gunicorn-web stdout | 2025-09-26 08:34:26,495 [61] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '61'} gunicorn-web stdout | 2025-09-26 08:34:26,499 [241] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '241'} builder stdout | 2025-09-26 08:34:26,689 [51] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'builder.py', 'pid': '51'} securityworker stdout | 2025-09-26 08:34:27,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:34:27,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:49.334273+00:00 (in 21.998321 seconds) securityworker stdout | 2025-09-26 08:34:27,336 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:57 GMT)" (scheduled at 2025-09-26 08:34:27.335452+00:00) securityworker stdout | 2025-09-26 08:34:27,336 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:34:27,336 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:34:27,339 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:34:27,340 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:34:27,352 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:34:27,353 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:34:27,353 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:34:27,353 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:34:27,354 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 2]) securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:34:27,358 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:34:27,358 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:34:27,358 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:34:27,359 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:34:27,359 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:34:27,359 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:34:27,359 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:34:27,359 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:34:27,359 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:34:27,359 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:34:27,359 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:34:27,359 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 29, 27, 340531), 1, 2]) securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:34:27,363 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:34:27,363 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:34:27,363 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:34:27,363 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:34:27,363 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:34:27,363 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:34:27,363 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:34:27,364 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:34:27,364 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:34:27,364 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:34:27,364 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:34:27,364 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 29, 27, 340531), 1, 2]) securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:34:27,368 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:34:27,368 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:34:27,368 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:34:27,368 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:34:27,368 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:34:27,368 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:34:27,368 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:34:27,368 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:34:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:34:27,368 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:34:57 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:34:27,598 [68] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'notificationworker.py', 'pid': '68'} globalpromstats stdout | 2025-09-26 08:34:29,981 [58] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'globalpromstats.py', 'pid': '58'} gunicorn-web stdout | 2025-09-26 08:34:32,640 [240] [DEBUG] [app] Starting request: urn:request:cf6b308d-fbc6-42d0-8dd7-3207a33ace5f (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:34:32,641 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:34:32,643 [250] [DEBUG] [app] Starting request: urn:request:ff947165-391c-476e-b0a4-d08a41bfb73d (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:34:32,644 [250] [DEBUG] [app] Ending request: urn:request:ff947165-391c-476e-b0a4-d08a41bfb73d (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:ff947165-391c-476e-b0a4-d08a41bfb73d', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:34:32,644 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:34:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:34:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:34:32,644 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:34:32,645 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:34:32,647 [239] [DEBUG] [app] Starting request: urn:request:44168ba3-1f18-42be-b84c-1d6cb600fe54 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:34:32,647 [239] [DEBUG] [app] Ending request: urn:request:44168ba3-1f18-42be-b84c-1d6cb600fe54 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:44168ba3-1f18-42be-b84c-1d6cb600fe54', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:34:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:34:32,648 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:34:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:34:32,648 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:34:32,648 [240] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:34:32,649 [240] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:34:32,649 [240] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:34:32,657 [240] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:34:32,657 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:34:32,667 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:34:32,670 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:34:32,674 [240] [DEBUG] [app] Ending request: urn:request:cf6b308d-fbc6-42d0-8dd7-3207a33ace5f (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:cf6b308d-fbc6-42d0-8dd7-3207a33ace5f', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:34:32,674 [240] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:34:32,675 [240] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:34:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:34:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.036 118 0.036) gunicorn-registry stdout | 2025-09-26 08:34:32,693 [257] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '257'} gunicorn-registry stdout | 2025-09-26 08:34:32,697 [252] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '252'} gunicorn-registry stdout | 2025-09-26 08:34:32,706 [59] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '59'} gunicorn-registry stdout | 2025-09-26 08:34:32,710 [254] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '254'} gunicorn-web stdout | 2025-09-26 08:34:32,728 [239] [DEBUG] [app] Starting request: urn:request:a58e68c2-7bfc-49b3-ad11-2c54c58de718 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:34:32,737 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:34:32,738 [250] [DEBUG] [app] Starting request: urn:request:ba9e487a-e32d-4aa3-96f1-a178777b2f7c (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:34:32,739 [250] [DEBUG] [app] Ending request: urn:request:ba9e487a-e32d-4aa3-96f1-a178777b2f7c (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:ba9e487a-e32d-4aa3-96f1-a178777b2f7c', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:34:32,739 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:34:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:34:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-web stdout | 2025-09-26 08:34:32,740 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:34:32,741 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:34:32,743 [242] [DEBUG] [app] Starting request: urn:request:bd6a1ab9-6fee-4a53-ad2f-1117c3758c72 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:34:32,743 [242] [DEBUG] [app] Ending request: urn:request:bd6a1ab9-6fee-4a53-ad2f-1117c3758c72 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:bd6a1ab9-6fee-4a53-ad2f-1117c3758c72', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:34:32,743 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:34:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:34:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:34:32,743 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:34:32,744 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:34:32,744 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:34:32,744 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:34:32,753 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:34:32,753 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:34:32,763 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:34:32,767 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:34:32,771 [239] [DEBUG] [app] Ending request: urn:request:a58e68c2-7bfc-49b3-ad11-2c54c58de718 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:a58e68c2-7bfc-49b3-ad11-2c54c58de718', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:34:32,771 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:34:32,772 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:34:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:34:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.044 118 0.045) gunicorn-registry stdout | 2025-09-26 08:34:32,777 [255] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '255'} gunicorn-registry stdout | 2025-09-26 08:34:32,781 [253] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '253'} gunicorn-registry stdout | 2025-09-26 08:34:32,789 [251] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '251'} gunicorn-registry stdout | 2025-09-26 08:34:32,795 [256] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '256'} gunicorn-registry stdout | 2025-09-26 08:34:32,798 [250] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '250'} exportactionlogsworker stdout | 2025-09-26 08:34:33,508 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} proxycacheblobworker stdout | 2025-09-26 08:34:33,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:34:33,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:43.545186+00:00 (in 9.999520 seconds) proxycacheblobworker stdout | 2025-09-26 08:34:33,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:43 GMT)" (scheduled at 2025-09-26 08:34:33.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:34:33,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:34:33,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 34, 33, 546135), True, datetime.datetime(2025, 9, 26, 8, 34, 33, 546135), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:34:33,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:34:33,559 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:34:33,559 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:43 GMT)" executed successfully gcworker stdout | 2025-09-26 08:34:34,439 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:34:34,439 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:51.444401+00:00 (in 17.004604 seconds) gcworker stdout | 2025-09-26 08:34:34,440 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:04 GMT)" (scheduled at 2025-09-26 08:34:34.439268+00:00) gcworker stdout | 2025-09-26 08:34:34,440 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:34:34,440 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:04 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:34:34,441 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:34:34,442 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:36.440077+00:00 (in 1.998047 seconds) notificationworker stdout | 2025-09-26 08:34:34,442 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:34 GMT)" (scheduled at 2025-09-26 08:34:34.441526+00:00) notificationworker stdout | 2025-09-26 08:34:34,442 [68] [DEBUG] [workers.queueworker] Running watchdog. notificationworker stdout | 2025-09-26 08:34:34,442 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:34 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:34:34,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:34:34,735 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:04.734534+00:00 (in 29.999514 seconds) autopruneworker stdout | 2025-09-26 08:34:34,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:04 GMT)" (scheduled at 2025-09-26 08:34:34.734534+00:00) autopruneworker stdout | 2025-09-26 08:34:34,743 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758872074743, None, 1, 0]) autopruneworker stdout | 2025-09-26 08:34:34,749 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:34:34,749 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:34:34,749 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:04 GMT)" executed successfully namespacegcworker stdout | 2025-09-26 08:34:34,841 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:34:34,841 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:58.835976+00:00 (in 23.994623 seconds) namespacegcworker stdout | 2025-09-26 08:34:34,841 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:34 GMT)" (scheduled at 2025-09-26 08:34:34.840898+00:00) namespacegcworker stdout | 2025-09-26 08:34:34,841 [66] [DEBUG] [workers.queueworker] Running watchdog. namespacegcworker stdout | 2025-09-26 08:34:34,841 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:34 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:34:36,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:34:36,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:46.440077+00:00 (in 9.999472 seconds) notificationworker stdout | 2025-09-26 08:34:36,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:46 GMT)" (scheduled at 2025-09-26 08:34:36.440077+00:00) notificationworker stdout | 2025-09-26 08:34:36,441 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:34:36,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 34, 36, 441091), True, datetime.datetime(2025, 9, 26, 8, 34, 36, 441091), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:34:36,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:34:36,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:34:36,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:46 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:34:36,812 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} proxycacheblobworker stdout | 2025-09-26 08:34:39,107 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} repositorygcworker stdout | 2025-09-26 08:34:39,235 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:34:39,236 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:23.149141+00:00 (in 43.912774 seconds) repositorygcworker stdout | 2025-09-26 08:34:39,236 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:39 GMT)" (scheduled at 2025-09-26 08:34:39.235682+00:00) repositorygcworker stdout | 2025-09-26 08:34:39,236 [86] [DEBUG] [workers.queueworker] Running watchdog. repositorygcworker stdout | 2025-09-26 08:34:39,236 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:39 GMT)" executed successfully gunicorn-web stdout | 2025-09-26 08:34:39,263 [242] [DEBUG] [app] Starting request: urn:request:376d25a7-1192-4749-81e9-cb74fb4892a8 (/api/v1/user/apptoken) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:34:39,271 [242] [DEBUG] [app] Ending request: urn:request:376d25a7-1192-4749-81e9-cb74fb4892a8 (/api/v1/user/apptoken) {'endpoint': 'api.apptokens', 'request_id': 'urn:request:376d25a7-1192-4749-81e9-cb74fb4892a8', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/user/apptoken?expiring=true', 'path': '/api/v1/user/apptoken', 'parameters': {'expiring': 'true'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:34:39,272 [242] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:34:39 +0000] "GET /api/v1/user/apptoken?expiring=true HTTP/1.0" 401 288 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:34:39 +0000] "GET /api/v1/user/apptoken?expiring=true HTTP/1.1" 401 288 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.010 2421 0.010) buildlogsarchiver stdout | 2025-09-26 08:34:39,351 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:34:39,352 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:09.351551+00:00 (in 29.999517 seconds) buildlogsarchiver stdout | 2025-09-26 08:34:39,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:09 GMT)" (scheduled at 2025-09-26 08:34:39.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:34:39,352 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 34, 39, 352330), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:34:39,367 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:34:39,367 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:34:39,367 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:09 GMT)" executed successfully manifestbackfillworker stdout | 2025-09-26 08:34:40,196 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} securityscanningnotificationworker stdout | 2025-09-26 08:34:42,242 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:34:42,243 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:22.245238+00:00 (in 40.002249 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:34:42,243 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:42 GMT)" (scheduled at 2025-09-26 08:34:42.242482+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:34:42,243 [88] [DEBUG] [workers.queueworker] Getting work item from queue. securityscanningnotificationworker stdout | 2025-09-26 08:34:42,244 [88] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 34, 42, 243320), True, datetime.datetime(2025, 9, 26, 8, 34, 42, 243320), 0, 'secscanv4/%', 50, 1, 0]) securityscanningnotificationworker stdout | 2025-09-26 08:34:42,257 [88] [DEBUG] [workers.queueworker] No more work. securityscanningnotificationworker stdout | 2025-09-26 08:34:42,257 [88] [DEBUG] [data.database] Disconnecting from database. securityscanningnotificationworker stdout | 2025-09-26 08:34:42,257 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:42 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:34:43,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:34:43,546 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:53.545186+00:00 (in 9.998851 seconds) proxycacheblobworker stdout | 2025-09-26 08:34:43,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:53 GMT)" (scheduled at 2025-09-26 08:34:43.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:34:43,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:34:43,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 34, 43, 546757), True, datetime.datetime(2025, 9, 26, 8, 34, 43, 546757), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:34:43,561 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:34:43,561 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:34:43,561 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:53 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:34:45,947 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:34:45,947 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:50.940190+00:00 (in 4.992758 seconds) exportactionlogsworker stdout | 2025-09-26 08:34:45,947 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:45 GMT)" (scheduled at 2025-09-26 08:34:45.946993+00:00) exportactionlogsworker stdout | 2025-09-26 08:34:45,947 [56] [DEBUG] [workers.queueworker] Running watchdog. exportactionlogsworker stdout | 2025-09-26 08:34:45,947 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:45 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:34:46,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:34:46,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:56.440077+00:00 (in 9.999495 seconds) notificationworker stdout | 2025-09-26 08:34:46,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:56 GMT)" (scheduled at 2025-09-26 08:34:46.440077+00:00) notificationworker stdout | 2025-09-26 08:34:46,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:34:46,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 34, 46, 440970), True, datetime.datetime(2025, 9, 26, 8, 34, 46, 440970), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:34:46,456 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:34:46,456 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:34:46,456 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:34:56 GMT)" executed successfully securityworker stdout | 2025-09-26 08:34:47,204 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} gunicorn-web stdout | 2025-09-26 08:34:47,640 [239] [DEBUG] [app] Starting request: urn:request:59d76fcc-76bc-4365-a942-559f8addbcf3 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:34:47,641 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:34:47,643 [257] [DEBUG] [app] Starting request: urn:request:b8357ecb-64c4-4f79-bc16-5110a2636d08 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:34:47,644 [257] [DEBUG] [app] Ending request: urn:request:b8357ecb-64c4-4f79-bc16-5110a2636d08 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:b8357ecb-64c4-4f79-bc16-5110a2636d08', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:34:47,644 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:34:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:34:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.001) gunicorn-web stdout | 2025-09-26 08:34:47,645 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:34:47,646 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:34:47,647 [239] [DEBUG] [app] Starting request: urn:request:31ad410c-0dfd-4d74-b316-93e49b7529b1 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:34:47,648 [239] [DEBUG] [app] Ending request: urn:request:31ad410c-0dfd-4d74-b316-93e49b7529b1 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:31ad410c-0dfd-4d74-b316-93e49b7529b1', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:34:47,648 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:34:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:34:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:34:47,648 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:34:47,649 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:34:47,649 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:34:47,649 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:34:47,657 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:34:47,657 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:34:47,668 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:34:47,672 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:34:47,675 [239] [DEBUG] [app] Ending request: urn:request:59d76fcc-76bc-4365-a942-559f8addbcf3 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:59d76fcc-76bc-4365-a942-559f8addbcf3', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:34:47,675 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:34:47,675 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:34:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:34:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.036 118 0.036) gunicorn-web stdout | 2025-09-26 08:34:47,727 [239] [DEBUG] [app] Starting request: urn:request:664691ed-e2bb-4b6b-be40-d8a4e55ea987 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:34:47,729 [250] [DEBUG] [app] Starting request: urn:request:7a0cd7a7-9260-438e-8748-56f4aa643a55 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:34:47,730 [250] [DEBUG] [app] Ending request: urn:request:7a0cd7a7-9260-438e-8748-56f4aa643a55 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:7a0cd7a7-9260-438e-8748-56f4aa643a55', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:34:47,731 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:34:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:34:47,731 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:34:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:34:47,732 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:34:47,733 [239] [DEBUG] [app] Starting request: urn:request:afb52aec-038b-4bf6-a1b3-d4c4cc4b80c3 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:34:47,733 [239] [DEBUG] [app] Ending request: urn:request:afb52aec-038b-4bf6-a1b3-d4c4cc4b80c3 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:afb52aec-038b-4bf6-a1b3-d4c4cc4b80c3', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:34:47,734 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:34:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:34:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.002) gunicorn-web stdout | 2025-09-26 08:34:47,734 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:34:47,735 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:34:47,735 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:34:47,735 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:34:47,743 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:34:47,743 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:34:47,754 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:34:47,757 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:34:47,761 [239] [DEBUG] [app] Ending request: urn:request:664691ed-e2bb-4b6b-be40-d8a4e55ea987 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:664691ed-e2bb-4b6b-be40-d8a4e55ea987', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:34:47,761 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:34:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.035 118 0.035) gunicorn-web stdout | 2025-09-26 08:34:47,761 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:34:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" securityworker stdout | 2025-09-26 08:34:49,334 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:34:49,334 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:34:57.335452+00:00 (in 8.000692 seconds) securityworker stdout | 2025-09-26 08:34:49,334 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:19 GMT)" (scheduled at 2025-09-26 08:34:49.334273+00:00) securityworker stdout | 2025-09-26 08:34:49,335 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:34:49,335 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:34:49,339 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:34:49,341 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:34:49,353 [89] [DEBUG] [peewee] ('SELECT Min("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:34:49,357 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stdout | 2025-09-26 08:34:49,357 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:19 GMT)" executed successfully logrotateworker stdout | 2025-09-26 08:34:50,220 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} exportactionlogsworker stdout | 2025-09-26 08:34:50,940 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:34:50,941 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:45.946993+00:00 (in 55.005967 seconds) exportactionlogsworker stdout | 2025-09-26 08:34:50,941 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:50 GMT)" (scheduled at 2025-09-26 08:34:50.940190+00:00) exportactionlogsworker stdout | 2025-09-26 08:34:50,941 [56] [DEBUG] [workers.queueworker] Getting work item from queue. exportactionlogsworker stdout | 2025-09-26 08:34:50,946 [56] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 34, 50, 941400), True, datetime.datetime(2025, 9, 26, 8, 34, 50, 941400), 0, 'exportactionlogs/%', 50, 1, 0]) exportactionlogsworker stdout | 2025-09-26 08:34:50,959 [56] [DEBUG] [workers.queueworker] No more work. exportactionlogsworker stdout | 2025-09-26 08:34:50,959 [56] [DEBUG] [data.database] Disconnecting from database. exportactionlogsworker stdout | 2025-09-26 08:34:50,959 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:50 GMT)" executed successfully buildlogsarchiver stdout | 2025-09-26 08:34:51,312 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'} gcworker stdout | 2025-09-26 08:34:51,444 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:34:51,445 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:04.439268+00:00 (in 12.994174 seconds) gcworker stdout | 2025-09-26 08:34:51,445 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:21 GMT)" (scheduled at 2025-09-26 08:34:51.444401+00:00) gcworker stdout | 2025-09-26 08:34:51,445 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) gcworker stdout | 2025-09-26 08:34:51,458 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875391458, None, 1, 0]) gcworker stdout | 2025-09-26 08:34:51,463 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:34:51,463 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:21 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:34:51,996 [64] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestsubjectbackfillworker.py', 'pid': '64'} storagereplication stdout | 2025-09-26 08:34:53,047 [95] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'storagereplication.py', 'pid': '95'} teamsyncworker stdout | 2025-09-26 08:34:53,503 [105] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'teamsyncworker.py', 'pid': '105'} servicekey stdout | 2025-09-26 08:34:53,510 [93] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'servicekeyworker.py', 'pid': '93'} blobuploadcleanupworker stdout | 2025-09-26 08:34:53,517 [50] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'blobuploadcleanupworker.py', 'pid': '50'} proxycacheblobworker stdout | 2025-09-26 08:34:53,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:34:53,546 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:03.545186+00:00 (in 9.998768 seconds) proxycacheblobworker stdout | 2025-09-26 08:34:53,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:03 GMT)" (scheduled at 2025-09-26 08:34:53.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:34:53,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:34:53,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 34, 53, 546711), True, datetime.datetime(2025, 9, 26, 8, 34, 53, 546711), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:34:53,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:34:53,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:34:53,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:03 GMT)" executed successfully gcworker stdout | 2025-09-26 08:34:53,996 [57] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'gcworker.py', 'pid': '57'} queuecleanupworker stdout | 2025-09-26 08:34:54,096 [71] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'queuecleanupworker.py', 'pid': '71'} securityscanningnotificationworker stdout | 2025-09-26 08:34:54,419 [88] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityscanningnotificationworker.py', 'pid': '88'} chunkcleanupworker stdout | 2025-09-26 08:34:54,710 [53] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'chunkcleanupworker.py', 'pid': '53'} repositorygcworker stdout | 2025-09-26 08:34:55,422 [86] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositorygcworker.py', 'pid': '86'} gunicorn-secscan stdout | 2025-09-26 08:34:55,560 [227] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '227'} gunicorn-secscan stdout | 2025-09-26 08:34:55,570 [228] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '228'} gunicorn-secscan stdout | 2025-09-26 08:34:55,575 [60] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '60'} namespacegcworker stdout | 2025-09-26 08:34:55,816 [66] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'namespacegcworker.py', 'pid': '66'} repositoryactioncounter stdout | 2025-09-26 08:34:56,298 [80] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositoryactioncounter.py', 'pid': '80'} expiredappspecifictokenworker stdout | 2025-09-26 08:34:56,406 [55] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'expiredappspecifictokenworker.py', 'pid': '55'} gunicorn-web stdout | 2025-09-26 08:34:56,432 [240] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '240'} gunicorn-web stdout | 2025-09-26 08:34:56,439 [239] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '239'} notificationworker stdout | 2025-09-26 08:34:56,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:34:56,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:06.440077+00:00 (in 9.999571 seconds) notificationworker stdout | 2025-09-26 08:34:56,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:06 GMT)" (scheduled at 2025-09-26 08:34:56.440077+00:00) notificationworker stdout | 2025-09-26 08:34:56,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:34:56,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 34, 56, 440805), True, datetime.datetime(2025, 9, 26, 8, 34, 56, 440805), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:34:56,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:34:56,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:34:56,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:06 GMT)" executed successfully gunicorn-web stdout | 2025-09-26 08:34:56,515 [242] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '242'} gunicorn-web stdout | 2025-09-26 08:34:56,519 [241] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '241'} gunicorn-web stdout | 2025-09-26 08:34:56,523 [61] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '61'} builder stdout | 2025-09-26 08:34:56,711 [51] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'builder.py', 'pid': '51'} securityworker stdout | 2025-09-26 08:34:57,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:34:57,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:19.334273+00:00 (in 21.998352 seconds) securityworker stdout | 2025-09-26 08:34:57,336 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:27 GMT)" (scheduled at 2025-09-26 08:34:57.335452+00:00) securityworker stdout | 2025-09-26 08:34:57,337 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:34:57,337 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:34:57,339 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:34:57,340 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:34:57,352 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:34:57,352 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:34:57,352 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:34:57,352 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:34:57,353 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 2]) securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:34:57,358 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:34:57,358 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:34:57,358 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:34:57,358 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:34:57,358 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:34:57,358 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:34:57,358 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:34:57,358 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:34:57,358 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:34:57,358 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:34:57,358 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:34:57,359 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 29, 57, 340724), 1, 2]) securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:34:57,362 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:34:57,362 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:34:57,362 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:34:57,362 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:34:57,362 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:34:57,362 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:34:57,362 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:34:57,362 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:34:57,362 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:34:57,362 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:34:57,363 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:34:57,363 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 29, 57, 340724), 1, 2]) securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:34:57,367 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:34:57,367 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:34:57,367 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:34:57,367 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:34:57,367 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:34:57,367 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:34:57,367 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:34:57,367 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:34:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:34:57,368 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:27 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:34:57,615 [68] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'notificationworker.py', 'pid': '68'} namespacegcworker stdout | 2025-09-26 08:34:58,836 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:34:58,836 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:34.840898+00:00 (in 36.004450 seconds) namespacegcworker stdout | 2025-09-26 08:34:58,836 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:58 GMT)" (scheduled at 2025-09-26 08:34:58.835976+00:00) namespacegcworker stdout | 2025-09-26 08:34:58,837 [66] [DEBUG] [workers.queueworker] Getting work item from queue. namespacegcworker stdout | 2025-09-26 08:34:58,837 [66] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 34, 58, 837101), True, datetime.datetime(2025, 9, 26, 8, 34, 58, 837101), 0, 'namespacegc/%', 50, 1, 0]) namespacegcworker stdout | 2025-09-26 08:34:58,850 [66] [DEBUG] [workers.queueworker] No more work. namespacegcworker stdout | 2025-09-26 08:34:58,850 [66] [DEBUG] [data.database] Disconnecting from database. namespacegcworker stdout | 2025-09-26 08:34:58,850 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:35:58 GMT)" executed successfully globalpromstats stdout | 2025-09-26 08:34:59,997 [58] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'globalpromstats.py', 'pid': '58'} gunicorn-web stdout | 2025-09-26 08:35:02,639 [239] [DEBUG] [app] Starting request: urn:request:77bd7cfd-3b74-44b2-8614-3e201bdcce95 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:35:02,643 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:35:02,645 [250] [DEBUG] [app] Starting request: urn:request:3298c4f6-0ab0-44f0-89df-03faebce7c78 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:35:02,646 [250] [DEBUG] [app] Ending request: urn:request:3298c4f6-0ab0-44f0-89df-03faebce7c78 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:3298c4f6-0ab0-44f0-89df-03faebce7c78', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:35:02,646 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:35:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:35:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:35:02,646 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:35:02,647 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:35:02,649 [239] [DEBUG] [app] Starting request: urn:request:1cde2d1f-f225-47ee-9391-be2493170dab (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:35:02,650 [239] [DEBUG] [app] Ending request: urn:request:1cde2d1f-f225-47ee-9391-be2493170dab (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:1cde2d1f-f225-47ee-9391-be2493170dab', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:35:02,650 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:35:02 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:35:02 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:35:02,650 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:35:02,651 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:35:02,651 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:35:02,651 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:35:02,660 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:35:02,660 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:35:02,671 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:35:02,675 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:35:02,678 [239] [DEBUG] [app] Ending request: urn:request:77bd7cfd-3b74-44b2-8614-3e201bdcce95 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:77bd7cfd-3b74-44b2-8614-3e201bdcce95', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:35:02,679 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:35:02,679 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:35:02 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:35:02 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.041 118 0.041) gunicorn-registry stdout | 2025-09-26 08:35:02,712 [257] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '257'} gunicorn-registry stdout | 2025-09-26 08:35:02,716 [252] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '252'} gunicorn-registry stdout | 2025-09-26 08:35:02,727 [59] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '59'} gunicorn-web stdout | 2025-09-26 08:35:02,728 [241] [DEBUG] [app] Starting request: urn:request:0f900ad9-59e5-4151-a9cf-d3642628dfce (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:35:02,732 [254] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '254'} gunicorn-web stdout | 2025-09-26 08:35:02,737 [241] [DEBUG] [urllib3.connectionpool] Starting new HTTP connection (1): localhost:8080 gunicorn-registry stdout | 2025-09-26 08:35:02,740 [257] [DEBUG] [app] Starting request: urn:request:e723f3de-4903-41fd-b155-ea90e3cd12b8 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:35:02,741 [257] [DEBUG] [app] Ending request: urn:request:e723f3de-4903-41fd-b155-ea90e3cd12b8 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:e723f3de-4903-41fd-b155-ea90e3cd12b8', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:35:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-registry stdout | 2025-09-26 08:35:02,741 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:35:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:35:02,741 [241] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:35:02,743 [241] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:35:02,745 [241] [DEBUG] [app] Starting request: urn:request:949d491e-ef38-45fd-a1be-5e1d84293680 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:35:02,745 [241] [DEBUG] [app] Ending request: urn:request:949d491e-ef38-45fd-a1be-5e1d84293680 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:949d491e-ef38-45fd-a1be-5e1d84293680', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:35:02 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:35:02,746 [241] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:35:02 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:35:02,746 [241] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:35:02,749 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."kid", "t1"."service", "t1"."jwk", "t1"."metadata", "t1"."created_date", "t1"."expiration_date", "t1"."rotation_duration", "t1"."approval_id" FROM "servicekey" AS "t1" LEFT OUTER JOIN "servicekeyapproval" AS "t2" ON ("t1"."approval_id" = "t2"."id") WHERE ((((NOT ("t1"."approval_id" IS %s) AND (("t1"."expiration_date" > %s) OR ("t1"."expiration_date" IS %s))) AND ("t1"."service" = %s)) AND (NOT (("t1"."service" = %s) AND ("t1"."expiration_date" <= %s)) OR NOT ((("t1"."service" = %s) AND ("t1"."approval_id" IS %s)) AND ("t1"."created_date" <= %s)))) AND (NOT ("t1"."expiration_date" <= %s) OR ("t1"."expiration_date" IS %s)))', [None, datetime.datetime(2025, 9, 26, 8, 35, 2, 747730), None, 'quay', 'quay', datetime.datetime(2025, 9, 26, 8, 35, 2, 747762), 'quay', None, datetime.datetime(2025, 9, 25, 8, 35, 2, 747791), datetime.datetime(2025, 9, 19, 8, 35, 2, 747808), None]) gunicorn-web stdout | 2025-09-26 08:35:02,762 [241] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:35:02,763 [241] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:35:02,763 [241] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:35:02,771 [241] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:35:02,771 [241] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:35:02,774 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:35:02,777 [241] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:35:02,780 [241] [DEBUG] [app] Ending request: urn:request:0f900ad9-59e5-4151-a9cf-d3642628dfce (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:0f900ad9-59e5-4151-a9cf-d3642628dfce', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:35:02,780 [241] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:35:02,781 [241] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:35:02 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:35:02 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.054 118 0.054) gunicorn-registry stdout | 2025-09-26 08:35:02,796 [255] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '255'} gunicorn-registry stdout | 2025-09-26 08:35:02,803 [253] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '253'} gunicorn-registry stdout | 2025-09-26 08:35:02,813 [256] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '256'} gunicorn-registry stdout | 2025-09-26 08:35:02,816 [251] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '251'} gunicorn-registry stdout | 2025-09-26 08:35:02,821 [250] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '250'} gunicorn-web stdout | 2025-09-26 08:35:03,353 [241] [DEBUG] [app] Starting request: urn:request:48bc61b5-561b-4d54-8be4-e37d6064e824 (/superuser/) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:35:03,365 [241] [DEBUG] [endpoints.api.discovery] Unable to find method for POST in class gunicorn-web stdout | 2025-09-26 08:35:03,406 [241] [DEBUG] [app] Ending request: urn:request:48bc61b5-561b-4d54-8be4-e37d6064e824 (/superuser/) {'endpoint': 'web.superuser', 'request_id': 'urn:request:48bc61b5-561b-4d54-8be4-e37d6064e824', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations', 'path': '/superuser/', 'parameters': {'tab': 'organizations'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:35:03,407 [241] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:35:03 +0000] "GET /superuser/?tab=organizations HTTP/1.0" 200 91952 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:03 +0000] "GET /superuser/?tab=organizations HTTP/1.1" 200 14102 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.056 2318 0.056) exportactionlogsworker stdout | 2025-09-26 08:35:03,526 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} proxycacheblobworker stdout | 2025-09-26 08:35:03,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:35:03,546 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:13.545186+00:00 (in 9.999195 seconds) proxycacheblobworker stdout | 2025-09-26 08:35:03,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:13 GMT)" (scheduled at 2025-09-26 08:35:03.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:35:03,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:35:03,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 35, 3, 546336), True, datetime.datetime(2025, 9, 26, 8, 35, 3, 546336), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:35:03,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:35:03,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:35:03,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:13 GMT)" executed successfully nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:04 +0000] "GET /static/ldn/font-awesome.css-a166e3c966c6.css HTTP/1.1" 200 8417 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2031 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:04 +0000] "GET /static/ldn/bootstrap.min.css-13f668494557.css HTTP/1.1" 200 24440 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2032 -) gcworker stdout | 2025-09-26 08:35:04,439 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:35:04,439 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:21.444401+00:00 (in 17.004592 seconds) gcworker stdout | 2025-09-26 08:35:04,440 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:34 GMT)" (scheduled at 2025-09-26 08:35:04.439268+00:00) gcworker stdout | 2025-09-26 08:35:04,440 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:35:04,440 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:34 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:35:04,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:35:04,735 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:34.734534+00:00 (in 29.999522 seconds) autopruneworker stdout | 2025-09-26 08:35:04,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:34 GMT)" (scheduled at 2025-09-26 08:35:04.734534+00:00) autopruneworker stdout | 2025-09-26 08:35:04,744 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758872104744, None, 1, 0]) autopruneworker stdout | 2025-09-26 08:35:04,750 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:35:04,750 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:35:04,750 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:34 GMT)" executed successfully nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:04 +0000] "GET /static/ldn/cssfamilySourceSansPro300400700-30cd793a4b9b.css HTTP/1.1" 200 236 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2046 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:05 +0000] "GET /static/ldn/ng-tags-input.min.css-7782190f81cd.css HTTP/1.1" 200 1079 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2036 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:05 +0000] "GET /static/ldn/bootstrap-datetimepicker.min.css-4b15a4ede750.css HTTP/1.1" 200 1482 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2047 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:05 +0000] "GET /static/ldn/bootstrap.min.js-0e773844b374.js HTTP/1.1" 200 11303 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2016 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:05 +0000] "GET /static/ldn/jquery.js-3c5c5966471e.js HTTP/1.1" 200 102811 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2009 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:05 +0000] "GET /static/ldn/angular.min.js-8c21e8f36c0e.js HTTP/1.1" 200 67557 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2014 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:05 +0000] "GET /static/ldn/cal-heatmap.css-904c3b9e8a60.css HTTP/1.1" 200 799 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2030 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:06 +0000] "GET /static/ldn/angular-route.min.js-4245c439070d.js HTTP/1.1" 200 2702 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2020 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:06 +0000] "GET /static/ldn/angular-sanitize.min.js-c4e272d90cfb.js HTTP/1.1" 200 3295 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2023 -) notificationworker stdout | 2025-09-26 08:35:06,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:35:06,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:16.440077+00:00 (in 9.999526 seconds) notificationworker stdout | 2025-09-26 08:35:06,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:16 GMT)" (scheduled at 2025-09-26 08:35:06.440077+00:00) notificationworker stdout | 2025-09-26 08:35:06,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:35:06,448 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 35, 6, 440930), True, datetime.datetime(2025, 9, 26, 8, 35, 6, 440930), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:35:06,461 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:35:06,461 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:35:06,461 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:16 GMT)" executed successfully nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:06 +0000] "GET /static/ldn/moment.min.js-95505f39902e.js HTTP/1.1" 200 22167 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2013 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:06 +0000] "GET /static/ldn/bootstrap-datepicker.min.js-3e3d8e141d5e.js HTTP/1.1" 200 9323 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2027 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:06 +0000] "GET /static/ldn/bootstrap-datetimepicker.min.js-6612bb423b71.js HTTP/1.1" 200 10832 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2031 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:06 +0000] "GET /static/ldn/bootbox4.1.0underscorejs1.5.2restangular1.2.0d3js3.3.3-6d47ddfef9c5.js HTTP/1.1" 200 71199 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2054 -) autopruneworker stdout | 2025-09-26 08:35:06,829 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:06 +0000] "GET /static/ldn/raven.min.js-ecd480647a39.js HTTP/1.1" 200 9505 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2012 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:07 +0000] "GET /static/ldn/cal-heatmap.min.js-8ffad728269a.js HTTP/1.1" 200 13004 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2018 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:07 +0000] "GET /static/ldn/angular-recaptcha.min.js-23859fca3602.js HTTP/1.1" 200 1793 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2024 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:07 +0000] "GET /static/ldn/ng-tags-input.min.js-fa3026ba8409.js HTTP/1.1" 200 6102 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2020 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:07 +0000] "GET /static/standalonelib/jquery.overscroll.min.js HTTP/1.1" 200 3491 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2018 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:07 +0000] "GET /static/ldn/angular-animate.min.js-88cbe10f92f2.js HTTP/1.1" 200 10421 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2022 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:07 +0000] "GET /static/ldn/angular-cookies.min.js-d418ab53e9d7.js HTTP/1.1" 200 846 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2022 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:07 +0000] "GET /static/ldn/typeahead.bundle.min.js-716151ca4e5d.js HTTP/1.1" 200 16673 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2023 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:07 +0000] "GET /static/build/main-quay-frontend-646853b3bd4264fd033e.bundle.js HTTP/1.1" 200 730967 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2035 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:07 +0000] "GET /static/img/RedHat.svg HTTP/1.1" 200 1245 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2054 -) proxycacheblobworker stdout | 2025-09-26 08:35:09,124 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} buildlogsarchiver stdout | 2025-09-26 08:35:09,352 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:35:09,352 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:39.351551+00:00 (in 29.999206 seconds) buildlogsarchiver stdout | 2025-09-26 08:35:09,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:39 GMT)" (scheduled at 2025-09-26 08:35:09.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:35:09,353 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 35, 9, 352647), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:35:09,366 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:35:09,366 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:35:09,366 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:39 GMT)" executed successfully nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:09 +0000] "GET /static/build/135-quay-frontend.chunk.js HTTP/1.1" 200 975 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2012 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:09 +0000] "GET /static/build/83-quay-frontend.chunk.js HTTP/1.1" 200 1717 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2011 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:09 +0000] "GET /static/build/18-quay-frontend.chunk.js HTTP/1.1" 200 997 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2011 -) gunicorn-web stdout | 2025-09-26 08:35:09,892 [239] [DEBUG] [app] Starting request: urn:request:07dc176c-537c-477c-8f10-26e7c6902ac7 (/api/v1/user/) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:35:09,894 [239] [DEBUG] [app] Ending request: urn:request:07dc176c-537c-477c-8f10-26e7c6902ac7 (/api/v1/user/) {'endpoint': 'api.user', 'request_id': 'urn:request:07dc176c-537c-477c-8f10-26e7c6902ac7', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/user/', 'path': '/api/v1/user/', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:35:09,895 [239] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:35:09 +0000] "GET /api/v1/user/ HTTP/1.0" 401 315 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:09 +0000] "GET /api/v1/user/ HTTP/1.1" 401 315 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.004 2125 0.004) gunicorn-web stdout | 2025-09-26 08:35:10,181 [241] [DEBUG] [app] Starting request: urn:request:aa59f7b6-c0ac-4e41-b05e-41334d8a1222 (/api/v1/messages) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:35:10,182 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."content", "t1"."uuid", "t1"."severity", "t1"."media_type_id", "t2"."id", "t2"."name" FROM "messages" AS "t1" INNER JOIN "mediatype" AS "t2" ON ("t1"."media_type_id" = "t2"."id")', []) gunicorn-web stdout | 2025-09-26 08:35:10,183 [242] [DEBUG] [app] Starting request: urn:request:2795b111-8796-4613-bc01-d3addb9be0df (/api/v1/superuser/registrystatus) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:35:10,184 [242] [DEBUG] [app] Ending request: urn:request:2795b111-8796-4613-bc01-d3addb9be0df (/api/v1/superuser/registrystatus) {'endpoint': 'api.superuserregistrystatus', 'request_id': 'urn:request:2795b111-8796-4613-bc01-d3addb9be0df', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/registrystatus', 'path': '/api/v1/superuser/registrystatus', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:10 +0000] "GET /api/v1/superuser/registrystatus HTTP/1.1" 200 42 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.003 2144 0.003) gunicorn-web stdout | 2025-09-26 08:35:10,185 [242] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:35:10 +0000] "GET /api/v1/superuser/registrystatus HTTP/1.0" 200 42 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:35:10,194 [241] [DEBUG] [app] Ending request: urn:request:aa59f7b6-c0ac-4e41-b05e-41334d8a1222 (/api/v1/messages) {'endpoint': 'api.globalusermessages', 'request_id': 'urn:request:aa59f7b6-c0ac-4e41-b05e-41334d8a1222', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/messages', 'path': '/api/v1/messages', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:35:10,195 [241] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:10 +0000] "GET /api/v1/messages HTTP/1.1" 200 17 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.015 2128 0.015) gunicorn-web stdout | 2025-09-26 08:35:10,196 [241] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:35:10 +0000] "GET /api/v1/messages HTTP/1.0" 200 17 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:35:10,205 [239] [DEBUG] [app] Starting request: urn:request:0f75b00f-e1cb-4a2a-82d3-e96db871761a (/api/v1/superuser/registrysize/) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:35:10,206 [239] [DEBUG] [app] Ending request: urn:request:0f75b00f-e1cb-4a2a-82d3-e96db871761a (/api/v1/superuser/registrysize/) {'endpoint': 'api.superuserregistrysize', 'request_id': 'urn:request:0f75b00f-e1cb-4a2a-82d3-e96db871761a', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/registrysize/', 'path': '/api/v1/superuser/registrysize/', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:10 +0000] "GET /api/v1/superuser/registrysize/ HTTP/1.1" 401 288 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.003 2143 0.003) gunicorn-web stdout | 2025-09-26 08:35:10,207 [239] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:35:10 +0000] "GET /api/v1/superuser/registrysize/ HTTP/1.0" 401 288 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" manifestbackfillworker stdout | 2025-09-26 08:35:10,213 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} gunicorn-web stdout | 2025-09-26 08:35:10,237 [239] [DEBUG] [app] Starting request: urn:request:57fc64a6-2d57-4c2b-ace4-58a7c869a46f (/api/v1/superuser/organizations/) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:35:10,238 [239] [DEBUG] [app] Ending request: urn:request:57fc64a6-2d57-4c2b-ace4-58a7c869a46f (/api/v1/superuser/organizations/) {'endpoint': 'api.superuserorganizationlist', 'request_id': 'urn:request:57fc64a6-2d57-4c2b-ace4-58a7c869a46f', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/organizations/?limit=50', 'path': '/api/v1/superuser/organizations/', 'parameters': {'limit': '50'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:10 +0000] "GET /api/v1/superuser/organizations/?limit=50 HTTP/1.1" 401 288 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.003 2153 0.003) gunicorn-web stdout | 2025-09-26 08:35:10,239 [239] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:35:10 +0000] "GET /api/v1/superuser/organizations/?limit=50 HTTP/1.0" 401 288 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:35:10,541 [242] [DEBUG] [app] Starting request: urn:request:67e809b6-b2be-4569-b346-a9702717b0d2 (/api/v1/superuser/users/) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:35:10,542 [242] [DEBUG] [app] Ending request: urn:request:67e809b6-b2be-4569-b346-a9702717b0d2 (/api/v1/superuser/users/) {'endpoint': 'api.superuserlist', 'request_id': 'urn:request:67e809b6-b2be-4569-b346-a9702717b0d2', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/users/?limit=50', 'path': '/api/v1/superuser/users/', 'parameters': {'limit': '50'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:10 +0000] "GET /api/v1/superuser/users/?limit=50 HTTP/1.1" 401 288 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.003 2165 0.003) gunicorn-web stdout | 2025-09-26 08:35:10,543 [242] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:35:10 +0000] "GET /api/v1/superuser/users/?limit=50 HTTP/1.0" 401 288 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:10 +0000] "GET /static/img/network-tile.png HTTP/1.1" 200 6289 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2080 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:10 +0000] "GET /static/img/RH_Logo_Quay_Black_UX-horizontal.svg HTTP/1.1" 200 3222 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2100 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:10 +0000] "GET /static/build/112-quay-frontend.chunk.js HTTP/1.1" 200 767 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2032 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:10 +0000] "GET /static/build/181-quay-frontend.chunk.js HTTP/1.1" 200 952 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2032 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:10 +0000] "GET /static/build/152-quay-frontend.chunk.js HTTP/1.1" 200 313 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2032 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:10 +0000] "GET /static/build/489e5e00e1a9a80f88d55281894a87ff.woff HTTP/1.1" 200 7280 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2143 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:35:11 +0000] "GET /static/fonts/fontawesome-webfont.woff2?v=4.7.0 HTTP/1.1" 200 77160 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/static/ldn/font-awesome.css-a166e3c966c6.css" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2155 -) proxycacheblobworker stdout | 2025-09-26 08:35:13,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:35:13,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:13.548017+00:00 (in 0.002363 seconds) proxycacheblobworker stdout | 2025-09-26 08:35:13,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:23 GMT)" (scheduled at 2025-09-26 08:35:13.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:35:13,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:35:13,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 35, 13, 546008), True, datetime.datetime(2025, 9, 26, 8, 35, 13, 546008), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:35:13,548 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:35:13,548 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:23.545186+00:00 (in 9.996830 seconds) proxycacheblobworker stdout | 2025-09-26 08:35:13,548 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:13 GMT)" (scheduled at 2025-09-26 08:35:13.548017+00:00) proxycacheblobworker stdout | 2025-09-26 08:35:13,548 [69] [DEBUG] [workers.queueworker] Running watchdog. proxycacheblobworker stdout | 2025-09-26 08:35:13,548 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:13 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:35:13,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:35:13,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:35:13,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:23 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:35:13,758 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:35:13,758 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:13.760217+00:00 (in 0.001794 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:35:13,758 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:13 GMT)" (scheduled at 2025-09-26 08:35:13.757911+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:35:13,759 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."subject_backfilled" = %s) OR ("t1"."subject_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:35:13,760 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:35:13,760 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:13.757911+00:00 (in 59.997329 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:35:13,760 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:13 GMT)" (scheduled at 2025-09-26 08:35:13.760217+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:35:13,761 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."artifact_type_backfilled" = %s) OR ("t1"."artifact_type_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:35:13,771 [64] [DEBUG] [__main__] Manifest subject backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:35:13,771 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:35:13,774 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:13 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:35:13,778 [64] [DEBUG] [__main__] Manifest artifact_type backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:35:13,778 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:35:13,778 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:13 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:35:16,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:35:16,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:26.440077+00:00 (in 9.999501 seconds) notificationworker stdout | 2025-09-26 08:35:16,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:26 GMT)" (scheduled at 2025-09-26 08:35:16.440077+00:00) notificationworker stdout | 2025-09-26 08:35:16,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:35:16,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 35, 16, 440915), True, datetime.datetime(2025, 9, 26, 8, 35, 16, 440915), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:35:16,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:35:16,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:35:16,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:26 GMT)" executed successfully securityworker stdout | 2025-09-26 08:35:17,221 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} gunicorn-web stdout | 2025-09-26 08:35:17,639 [239] [DEBUG] [app] Starting request: urn:request:dff91415-57b1-4673-9b00-2d5b3118489f (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:35:17,640 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:35:17,642 [256] [DEBUG] [app] Starting request: urn:request:e5bc8f7e-9bd7-4958-bef3-01a0e7036a21 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:35:17,643 [256] [DEBUG] [app] Ending request: urn:request:e5bc8f7e-9bd7-4958-bef3-01a0e7036a21 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:e5bc8f7e-9bd7-4958-bef3-01a0e7036a21', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:35:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-registry stdout | 2025-09-26 08:35:17,643 [256] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:35:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:35:17,643 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:35:17,644 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:35:17,646 [239] [DEBUG] [app] Starting request: urn:request:86a3bf15-f93d-4f51-9c37-3d7f09c000d1 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:35:17,646 [239] [DEBUG] [app] Ending request: urn:request:86a3bf15-f93d-4f51-9c37-3d7f09c000d1 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:86a3bf15-f93d-4f51-9c37-3d7f09c000d1', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:35:17,647 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:35:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:35:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.002) gunicorn-web stdout | 2025-09-26 08:35:17,647 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:35:17,647 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:35:17,647 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:35:17,647 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:35:17,656 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:35:17,656 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:35:17,667 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:35:17,671 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:35:17,674 [239] [DEBUG] [app] Ending request: urn:request:dff91415-57b1-4673-9b00-2d5b3118489f (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:dff91415-57b1-4673-9b00-2d5b3118489f', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:35:17,674 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:35:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.036 118 0.036) gunicorn-web stdout | 2025-09-26 08:35:17,674 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:35:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" gunicorn-web stdout | 2025-09-26 08:35:17,728 [239] [DEBUG] [app] Starting request: urn:request:cd637258-2a79-4119-8a77-bd6fe3d0de84 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:35:17,730 [257] [DEBUG] [app] Starting request: urn:request:ca74f0c4-8f2f-4a46-b257-bc02fc0da032 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:35:17,730 [257] [DEBUG] [app] Ending request: urn:request:ca74f0c4-8f2f-4a46-b257-bc02fc0da032 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:ca74f0c4-8f2f-4a46-b257-bc02fc0da032', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:35:17,731 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:35:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:35:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:35:17,731 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:35:17,732 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:35:17,733 [239] [DEBUG] [app] Starting request: urn:request:5b21fa18-2b99-42d7-bc54-8dce5a9b7e36 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:35:17,734 [239] [DEBUG] [app] Ending request: urn:request:5b21fa18-2b99-42d7-bc54-8dce5a9b7e36 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:5b21fa18-2b99-42d7-bc54-8dce5a9b7e36', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:35:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:35:17,734 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:35:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:35:17,734 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:35:17,735 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:35:17,735 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:35:17,735 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:35:17,743 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:35:17,743 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:35:17,754 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:35:17,758 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:35:17,761 [239] [DEBUG] [app] Ending request: urn:request:cd637258-2a79-4119-8a77-bd6fe3d0de84 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:cd637258-2a79-4119-8a77-bd6fe3d0de84', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:35:17,761 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:35:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.034 118 0.035) gunicorn-web stdout | 2025-09-26 08:35:17,762 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:35:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" securityworker stdout | 2025-09-26 08:35:19,334 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:35:19,334 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:27.335452+00:00 (in 8.000717 seconds) securityworker stdout | 2025-09-26 08:35:19,334 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:49 GMT)" (scheduled at 2025-09-26 08:35:19.334273+00:00) securityworker stdout | 2025-09-26 08:35:19,335 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:35:19,335 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:35:19,339 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:35:19,341 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:35:19,355 [89] [DEBUG] [peewee] ('SELECT Min("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:35:19,358 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stdout | 2025-09-26 08:35:19,359 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:49 GMT)" executed successfully logrotateworker stdout | 2025-09-26 08:35:20,238 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} buildlogsarchiver stdout | 2025-09-26 08:35:21,328 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'} gcworker stdout | 2025-09-26 08:35:21,444 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:35:21,444 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:34.439268+00:00 (in 12.994331 seconds) gcworker stdout | 2025-09-26 08:35:21,445 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:51 GMT)" (scheduled at 2025-09-26 08:35:21.444401+00:00) gcworker stdout | 2025-09-26 08:35:21,445 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) gcworker stdout | 2025-09-26 08:35:21,458 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875421457, None, 1, 0]) gcworker stdout | 2025-09-26 08:35:21,463 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:35:21,463 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:51 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:35:22,014 [64] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestsubjectbackfillworker.py', 'pid': '64'} securityscanningnotificationworker stdout | 2025-09-26 08:35:22,245 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:35:22,245 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:42.242482+00:00 (in 19.996778 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:35:22,246 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:22 GMT)" (scheduled at 2025-09-26 08:35:22.245238+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:35:22,246 [88] [DEBUG] [workers.queueworker] Running watchdog. securityscanningnotificationworker stdout | 2025-09-26 08:35:22,246 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:22 GMT)" executed successfully storagereplication stdout | 2025-09-26 08:35:23,065 [95] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'storagereplication.py', 'pid': '95'} repositorygcworker stdout | 2025-09-26 08:35:23,149 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:35:23,149 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:39.235682+00:00 (in 16.086033 seconds) repositorygcworker stdout | 2025-09-26 08:35:23,149 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:23 GMT)" (scheduled at 2025-09-26 08:35:23.149141+00:00) repositorygcworker stdout | 2025-09-26 08:35:23,149 [86] [DEBUG] [workers.queueworker] Getting work item from queue. repositorygcworker stdout | 2025-09-26 08:35:23,150 [86] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 35, 23, 150032), True, datetime.datetime(2025, 9, 26, 8, 35, 23, 150032), 0, 'repositorygc/%', 50, 1, 0]) repositorygcworker stdout | 2025-09-26 08:35:23,163 [86] [DEBUG] [workers.queueworker] No more work. repositorygcworker stdout | 2025-09-26 08:35:23,163 [86] [DEBUG] [data.database] Disconnecting from database. repositorygcworker stdout | 2025-09-26 08:35:23,164 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:23 GMT)" executed successfully teamsyncworker stdout | 2025-09-26 08:35:23,521 [105] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'teamsyncworker.py', 'pid': '105'} servicekey stdout | 2025-09-26 08:35:23,530 [93] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'servicekeyworker.py', 'pid': '93'} blobuploadcleanupworker stdout | 2025-09-26 08:35:23,536 [50] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'blobuploadcleanupworker.py', 'pid': '50'} proxycacheblobworker stdout | 2025-09-26 08:35:23,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:35:23,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:33.545186+00:00 (in 9.999206 seconds) proxycacheblobworker stdout | 2025-09-26 08:35:23,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:33 GMT)" (scheduled at 2025-09-26 08:35:23.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:35:23,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:35:23,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 35, 23, 546383), True, datetime.datetime(2025, 9, 26, 8, 35, 23, 546383), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:35:23,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:35:23,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:35:23,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:33 GMT)" executed successfully gcworker stdout | 2025-09-26 08:35:24,013 [57] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'gcworker.py', 'pid': '57'} queuecleanupworker stdout | 2025-09-26 08:35:24,112 [71] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'queuecleanupworker.py', 'pid': '71'} securityscanningnotificationworker stdout | 2025-09-26 08:35:24,436 [88] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityscanningnotificationworker.py', 'pid': '88'} chunkcleanupworker stdout | 2025-09-26 08:35:24,728 [53] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'chunkcleanupworker.py', 'pid': '53'} repositorygcworker stdout | 2025-09-26 08:35:25,440 [86] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositorygcworker.py', 'pid': '86'} gunicorn-secscan stdout | 2025-09-26 08:35:25,579 [227] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '227'} gunicorn-secscan stdout | 2025-09-26 08:35:25,590 [228] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '228'} gunicorn-secscan stdout | 2025-09-26 08:35:25,595 [60] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '60'} namespacegcworker stdout | 2025-09-26 08:35:25,833 [66] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'namespacegcworker.py', 'pid': '66'} repositoryactioncounter stdout | 2025-09-26 08:35:26,314 [80] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositoryactioncounter.py', 'pid': '80'} expiredappspecifictokenworker stdout | 2025-09-26 08:35:26,424 [55] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'expiredappspecifictokenworker.py', 'pid': '55'} notificationworker stdout | 2025-09-26 08:35:26,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:35:26,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:34.441526+00:00 (in 8.000974 seconds) notificationworker stdout | 2025-09-26 08:35:26,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:36 GMT)" (scheduled at 2025-09-26 08:35:26.440077+00:00) notificationworker stdout | 2025-09-26 08:35:26,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:35:26,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 35, 26, 441038), True, datetime.datetime(2025, 9, 26, 8, 35, 26, 441038), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:35:26,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:35:26,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:35:26,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:36 GMT)" executed successfully gunicorn-web stdout | 2025-09-26 08:35:26,463 [240] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '240'} gunicorn-web stdout | 2025-09-26 08:35:26,467 [239] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '239'} gunicorn-web stdout | 2025-09-26 08:35:26,535 [242] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '242'} gunicorn-web stdout | 2025-09-26 08:35:26,540 [241] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '241'} gunicorn-web stdout | 2025-09-26 08:35:26,545 [61] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '61'} builder stdout | 2025-09-26 08:35:26,728 [51] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'builder.py', 'pid': '51'} securityworker stdout | 2025-09-26 08:35:27,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:35:27,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:49.334273+00:00 (in 21.998352 seconds) securityworker stdout | 2025-09-26 08:35:27,336 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:57 GMT)" (scheduled at 2025-09-26 08:35:27.335452+00:00) securityworker stdout | 2025-09-26 08:35:27,336 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:35:27,336 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:35:27,339 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:35:27,341 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:35:27,354 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:35:27,354 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:35:27,354 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:35:27,354 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:35:27,355 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 2]) securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:35:27,359 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:35:27,359 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:35:27,359 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:35:27,359 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:35:27,359 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:35:27,359 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:35:27,359 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:35:27,359 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:35:27,359 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:35:27,359 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:35:27,360 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:35:27,360 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 30, 27, 341264), 1, 2]) securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:35:27,364 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:35:27,364 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:35:27,364 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:35:27,364 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:35:27,364 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:35:27,364 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:35:27,364 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:35:27,364 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:35:27,364 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:35:27,364 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:35:27,364 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:35:27,365 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 30, 27, 341264), 1, 2]) securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:35:27,368 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:35:27,368 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:35:27,368 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:35:27,368 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:35:27,369 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:35:27,369 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:35:27,369 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:35:27,369 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:35:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:35:27,369 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:35:57 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:35:27,640 [68] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'notificationworker.py', 'pid': '68'} manifestbackfillworker stdout | 2025-09-26 08:35:28,342 [63] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestbackfillworker stdout | 2025-09-26 08:35:28,342 [63] [INFO] [apscheduler.executors.default] Running job "ManifestBackfillWorker._backfill_manifests (trigger: interval[1:00:00], next run at: 2025-09-26 08:35:28 GMT)" (scheduled at 2025-09-26 08:35:28.342196+00:00) manifestbackfillworker stdout | 2025-09-26 08:35:28,343 [63] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE ("t1"."layers_compressed_size" IS %s) LIMIT %s OFFSET %s', [None, 1, 0]) manifestbackfillworker stdout | 2025-09-26 08:35:28,343 [63] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 09:35:28.342196+00:00 (in 3599.998270 seconds) manifestbackfillworker stdout | 2025-09-26 08:35:28,356 [63] [DEBUG] [__main__] Manifest backfill worker has completed; skipping manifestbackfillworker stdout | 2025-09-26 08:35:28,356 [63] [DEBUG] [data.database] Disconnecting from database. manifestbackfillworker stdout | 2025-09-26 08:35:28,356 [63] [INFO] [apscheduler.executors.default] Job "ManifestBackfillWorker._backfill_manifests (trigger: interval[1:00:00], next run at: 2025-09-26 09:35:28 GMT)" executed successfully globalpromstats stdout | 2025-09-26 08:35:30,015 [58] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'globalpromstats.py', 'pid': '58'} gunicorn-web stdout | 2025-09-26 08:35:32,639 [242] [DEBUG] [app] Starting request: urn:request:76e4c86f-b460-45a8-8fa1-e1cda0529703 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:35:32,641 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:35:32,642 [250] [DEBUG] [app] Starting request: urn:request:630375bb-6bc2-4075-ac4c-8516907e8d70 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:35:32,643 [250] [DEBUG] [app] Ending request: urn:request:630375bb-6bc2-4075-ac4c-8516907e8d70 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:630375bb-6bc2-4075-ac4c-8516907e8d70', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:35:32,643 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:35:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:35:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-web stdout | 2025-09-26 08:35:32,644 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:35:32,645 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:35:32,646 [242] [DEBUG] [app] Starting request: urn:request:8af2c870-603f-41c3-859f-721f52d0d057 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:35:32,647 [242] [DEBUG] [app] Ending request: urn:request:8af2c870-603f-41c3-859f-721f52d0d057 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:8af2c870-603f-41c3-859f-721f52d0d057', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:35:32,647 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:35:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:35:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:35:32,647 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:35:32,648 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:35:32,648 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:35:32,648 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:35:32,657 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:35:32,657 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:35:32,668 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:35:32,672 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:35:32,675 [242] [DEBUG] [app] Ending request: urn:request:76e4c86f-b460-45a8-8fa1-e1cda0529703 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:76e4c86f-b460-45a8-8fa1-e1cda0529703', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:35:32,676 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:35:32,676 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:35:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:35:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.037 118 0.037) gunicorn-web stdout | 2025-09-26 08:35:32,728 [242] [DEBUG] [app] Starting request: urn:request:423f6246-ed7c-4d24-ba57-aa93b632e37a (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:35:32,730 [256] [DEBUG] [app] Starting request: urn:request:344c88d9-ad1e-41b3-8fd2-287506ed4e8b (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:35:32,731 [256] [DEBUG] [app] Ending request: urn:request:344c88d9-ad1e-41b3-8fd2-287506ed4e8b (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:344c88d9-ad1e-41b3-8fd2-287506ed4e8b', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:35:32,731 [256] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:35:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:35:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:35:32,731 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:35:32,733 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:35:32,734 [241] [DEBUG] [app] Starting request: urn:request:c3def1d6-905e-4354-b606-64b29273e105 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:35:32,735 [241] [DEBUG] [app] Ending request: urn:request:c3def1d6-905e-4354-b606-64b29273e105 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:c3def1d6-905e-4354-b606-64b29273e105', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:35:32,735 [241] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:35:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:35:32,735 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:35:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:35:32,736 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:35:32,736 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:35:32,736 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-registry stdout | 2025-09-26 08:35:32,738 [257] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '257'} gunicorn-registry stdout | 2025-09-26 08:35:32,743 [252] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '252'} gunicorn-web stdout | 2025-09-26 08:35:32,745 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:35:32,745 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-registry stdout | 2025-09-26 08:35:32,749 [59] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '59'} gunicorn-registry stdout | 2025-09-26 08:35:32,754 [254] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '254'} gunicorn-web stdout | 2025-09-26 08:35:32,756 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:35:32,760 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:35:32,763 [242] [DEBUG] [app] Ending request: urn:request:423f6246-ed7c-4d24-ba57-aa93b632e37a (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:423f6246-ed7c-4d24-ba57-aa93b632e37a', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:35:32,763 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:35:32,764 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:35:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:35:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.037 118 0.037) gunicorn-registry stdout | 2025-09-26 08:35:32,814 [255] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '255'} gunicorn-registry stdout | 2025-09-26 08:35:32,821 [253] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '253'} gunicorn-registry stdout | 2025-09-26 08:35:32,837 [256] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '256'} gunicorn-registry stdout | 2025-09-26 08:35:32,841 [251] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '251'} gunicorn-registry stdout | 2025-09-26 08:35:32,845 [250] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '250'} exportactionlogsworker stdout | 2025-09-26 08:35:33,541 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} proxycacheblobworker stdout | 2025-09-26 08:35:33,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:35:33,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:43.545186+00:00 (in 9.999571 seconds) proxycacheblobworker stdout | 2025-09-26 08:35:33,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:43 GMT)" (scheduled at 2025-09-26 08:35:33.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:35:33,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:35:33,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 35, 33, 545980), True, datetime.datetime(2025, 9, 26, 8, 35, 33, 545980), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:35:33,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:35:33,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:35:33,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:43 GMT)" executed successfully gcworker stdout | 2025-09-26 08:35:34,439 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:35:34,439 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:51.444401+00:00 (in 17.004592 seconds) gcworker stdout | 2025-09-26 08:35:34,441 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:04 GMT)" (scheduled at 2025-09-26 08:35:34.439268+00:00) gcworker stdout | 2025-09-26 08:35:34,441 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:35:34,441 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:04 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:35:34,441 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:35:34,442 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:36.440077+00:00 (in 1.998022 seconds) notificationworker stdout | 2025-09-26 08:35:34,442 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:34 GMT)" (scheduled at 2025-09-26 08:35:34.441526+00:00) notificationworker stdout | 2025-09-26 08:35:34,443 [68] [DEBUG] [workers.queueworker] Running watchdog. notificationworker stdout | 2025-09-26 08:35:34,443 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:34 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:35:34,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:35:34,735 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:04.734534+00:00 (in 29.999507 seconds) autopruneworker stdout | 2025-09-26 08:35:34,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:04 GMT)" (scheduled at 2025-09-26 08:35:34.734534+00:00) autopruneworker stdout | 2025-09-26 08:35:34,744 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758872134743, None, 1, 0]) autopruneworker stdout | 2025-09-26 08:35:34,749 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:35:34,749 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:35:34,749 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:04 GMT)" executed successfully namespacegcworker stdout | 2025-09-26 08:35:34,841 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:35:34,841 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:58.835976+00:00 (in 23.994646 seconds) namespacegcworker stdout | 2025-09-26 08:35:34,841 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:34 GMT)" (scheduled at 2025-09-26 08:35:34.840898+00:00) namespacegcworker stdout | 2025-09-26 08:35:34,841 [66] [DEBUG] [workers.queueworker] Running watchdog. namespacegcworker stdout | 2025-09-26 08:35:34,841 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:34 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:35:36,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:35:36,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:46.440077+00:00 (in 9.999542 seconds) notificationworker stdout | 2025-09-26 08:35:36,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:46 GMT)" (scheduled at 2025-09-26 08:35:36.440077+00:00) notificationworker stdout | 2025-09-26 08:35:36,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:35:36,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 35, 36, 440796), True, datetime.datetime(2025, 9, 26, 8, 35, 36, 440796), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:35:36,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:35:36,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:35:36,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:46 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:35:36,845 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} proxycacheblobworker stdout | 2025-09-26 08:35:39,140 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} repositorygcworker stdout | 2025-09-26 08:35:39,235 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:35:39,236 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:23.149141+00:00 (in 43.912980 seconds) repositorygcworker stdout | 2025-09-26 08:35:39,236 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:39 GMT)" (scheduled at 2025-09-26 08:35:39.235682+00:00) repositorygcworker stdout | 2025-09-26 08:35:39,236 [86] [DEBUG] [workers.queueworker] Running watchdog. repositorygcworker stdout | 2025-09-26 08:35:39,236 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:39 GMT)" executed successfully buildlogsarchiver stdout | 2025-09-26 08:35:39,352 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:35:39,352 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:09.351551+00:00 (in 29.999254 seconds) buildlogsarchiver stdout | 2025-09-26 08:35:39,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:09 GMT)" (scheduled at 2025-09-26 08:35:39.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:35:39,353 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 35, 39, 352594), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:35:39,366 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:35:39,366 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:35:39,366 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:09 GMT)" executed successfully manifestbackfillworker stdout | 2025-09-26 08:35:40,231 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} securityscanningnotificationworker stdout | 2025-09-26 08:35:42,242 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:35:42,242 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:56.244910+00:00 (in 14.001997 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:35:42,243 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:42 GMT)" (scheduled at 2025-09-26 08:35:42.242482+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:35:42,243 [88] [DEBUG] [workers.queueworker] Getting work item from queue. securityscanningnotificationworker stdout | 2025-09-26 08:35:42,243 [88] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 35, 42, 243237), True, datetime.datetime(2025, 9, 26, 8, 35, 42, 243237), 0, 'secscanv4/%', 50, 1, 0]) securityscanningnotificationworker stdout | 2025-09-26 08:35:42,256 [88] [DEBUG] [workers.queueworker] No more work. securityscanningnotificationworker stdout | 2025-09-26 08:35:42,256 [88] [DEBUG] [data.database] Disconnecting from database. securityscanningnotificationworker stdout | 2025-09-26 08:35:42,257 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:42 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:35:43,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:35:43,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:53.545186+00:00 (in 9.999536 seconds) proxycacheblobworker stdout | 2025-09-26 08:35:43,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:53 GMT)" (scheduled at 2025-09-26 08:35:43.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:35:43,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:35:43,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 35, 43, 546037), True, datetime.datetime(2025, 9, 26, 8, 35, 43, 546037), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:35:43,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:35:43,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:35:43,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:53 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:35:45,947 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:35:45,947 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:50.940190+00:00 (in 4.992734 seconds) exportactionlogsworker stdout | 2025-09-26 08:35:45,947 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:45 GMT)" (scheduled at 2025-09-26 08:35:45.946993+00:00) exportactionlogsworker stdout | 2025-09-26 08:35:45,947 [56] [DEBUG] [workers.queueworker] Running watchdog. exportactionlogsworker stdout | 2025-09-26 08:35:45,947 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:45 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:35:46,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:35:46,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:56.440077+00:00 (in 9.999527 seconds) notificationworker stdout | 2025-09-26 08:35:46,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:56 GMT)" (scheduled at 2025-09-26 08:35:46.440077+00:00) notificationworker stdout | 2025-09-26 08:35:46,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:35:46,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 35, 46, 440929), True, datetime.datetime(2025, 9, 26, 8, 35, 46, 440929), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:35:46,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:35:46,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:35:46,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:35:56 GMT)" executed successfully securityworker stdout | 2025-09-26 08:35:47,238 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} gunicorn-web stdout | 2025-09-26 08:35:47,639 [242] [DEBUG] [app] Starting request: urn:request:6dfc87d8-4a4f-43b5-a537-1b793ee17034 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:35:47,645 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:35:47,647 [257] [DEBUG] [app] Starting request: urn:request:9db4ace3-8229-423b-afdc-619b5a424bc9 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:35:47,647 [257] [DEBUG] [app] Ending request: urn:request:9db4ace3-8229-423b-afdc-619b5a424bc9 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:9db4ace3-8229-423b-afdc-619b5a424bc9', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:35:47,648 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:35:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:35:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.002) gunicorn-web stdout | 2025-09-26 08:35:47,648 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:35:47,649 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:35:47,651 [242] [DEBUG] [app] Starting request: urn:request:818432ed-6e9a-4e46-8bdb-2aeb6661fc92 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:35:47,651 [242] [DEBUG] [app] Ending request: urn:request:818432ed-6e9a-4e46-8bdb-2aeb6661fc92 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:818432ed-6e9a-4e46-8bdb-2aeb6661fc92', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:35:47,651 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:35:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:35:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:35:47,652 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:35:47,652 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:35:47,653 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:35:47,653 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:35:47,660 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:35:47,661 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:35:47,672 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:35:47,675 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:35:47,678 [242] [DEBUG] [app] Ending request: urn:request:6dfc87d8-4a4f-43b5-a537-1b793ee17034 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:6dfc87d8-4a4f-43b5-a537-1b793ee17034', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:35:47,678 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:35:47,679 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:35:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:35:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.041 118 0.041) gunicorn-web stdout | 2025-09-26 08:35:47,727 [239] [DEBUG] [app] Starting request: urn:request:816f5003-5296-4213-a06f-098dd65092fb (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:35:47,728 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:35:47,730 [256] [DEBUG] [app] Starting request: urn:request:d50a576f-b915-4b28-ba34-8bdceb755509 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:35:47,731 [256] [DEBUG] [app] Ending request: urn:request:d50a576f-b915-4b28-ba34-8bdceb755509 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:d50a576f-b915-4b28-ba34-8bdceb755509', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:35:47,731 [256] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:35:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:35:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:35:47,731 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:35:47,732 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:35:47,734 [239] [DEBUG] [app] Starting request: urn:request:1668675b-4e5c-4b59-aa5d-8dfcfd9eb4e6 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:35:47,734 [239] [DEBUG] [app] Ending request: urn:request:1668675b-4e5c-4b59-aa5d-8dfcfd9eb4e6 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:1668675b-4e5c-4b59-aa5d-8dfcfd9eb4e6', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:35:47,734 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:35:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:35:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:35:47,735 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:35:47,735 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:35:47,735 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:35:47,735 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:35:47,743 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:35:47,743 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:35:47,754 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:35:47,757 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:35:47,761 [239] [DEBUG] [app] Ending request: urn:request:816f5003-5296-4213-a06f-098dd65092fb (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:816f5003-5296-4213-a06f-098dd65092fb', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:35:47,762 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:35:47,762 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:35:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:35:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.036 118 0.036) securityworker stdout | 2025-09-26 08:35:49,334 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:35:49,334 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:35:57.335452+00:00 (in 8.000736 seconds) securityworker stdout | 2025-09-26 08:35:49,334 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:19 GMT)" (scheduled at 2025-09-26 08:35:49.334273+00:00) securityworker stdout | 2025-09-26 08:35:49,335 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:35:49,335 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:35:49,339 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:35:49,341 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:35:49,353 [89] [DEBUG] [peewee] ('SELECT Min("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:35:49,356 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stdout | 2025-09-26 08:35:49,356 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:19 GMT)" executed successfully logrotateworker stdout | 2025-09-26 08:35:50,254 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} exportactionlogsworker stdout | 2025-09-26 08:35:50,940 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:35:50,941 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:45.946993+00:00 (in 55.005733 seconds) exportactionlogsworker stdout | 2025-09-26 08:35:50,941 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:50 GMT)" (scheduled at 2025-09-26 08:35:50.940190+00:00) exportactionlogsworker stdout | 2025-09-26 08:35:50,941 [56] [DEBUG] [workers.queueworker] Getting work item from queue. exportactionlogsworker stdout | 2025-09-26 08:35:50,942 [56] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 35, 50, 941591), True, datetime.datetime(2025, 9, 26, 8, 35, 50, 941591), 0, 'exportactionlogs/%', 50, 1, 0]) exportactionlogsworker stdout | 2025-09-26 08:35:50,954 [56] [DEBUG] [workers.queueworker] No more work. exportactionlogsworker stdout | 2025-09-26 08:35:50,954 [56] [DEBUG] [data.database] Disconnecting from database. exportactionlogsworker stdout | 2025-09-26 08:35:50,954 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:50 GMT)" executed successfully buildlogsarchiver stdout | 2025-09-26 08:35:51,345 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'} gcworker stdout | 2025-09-26 08:35:51,444 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:35:51,444 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:04.439268+00:00 (in 12.994364 seconds) gcworker stdout | 2025-09-26 08:35:51,445 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:21 GMT)" (scheduled at 2025-09-26 08:35:51.444401+00:00) gcworker stdout | 2025-09-26 08:35:51,445 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) gcworker stdout | 2025-09-26 08:35:51,457 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875451456, None, 1, 0]) gcworker stdout | 2025-09-26 08:35:51,461 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:35:51,461 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:21 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:35:52,031 [64] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestsubjectbackfillworker.py', 'pid': '64'} storagereplication stdout | 2025-09-26 08:35:53,081 [95] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'storagereplication.py', 'pid': '95'} teamsyncworker stdout | 2025-09-26 08:35:53,538 [105] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'teamsyncworker.py', 'pid': '105'} proxycacheblobworker stdout | 2025-09-26 08:35:53,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:35:53,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:03.545186+00:00 (in 9.999582 seconds) proxycacheblobworker stdout | 2025-09-26 08:35:53,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:03 GMT)" (scheduled at 2025-09-26 08:35:53.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:35:53,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:35:53,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 35, 53, 546055), True, datetime.datetime(2025, 9, 26, 8, 35, 53, 546055), 0, 'proxycacheblob/%', 50, 1, 0]) servicekey stdout | 2025-09-26 08:35:53,550 [93] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'servicekeyworker.py', 'pid': '93'} blobuploadcleanupworker stdout | 2025-09-26 08:35:53,555 [50] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'blobuploadcleanupworker.py', 'pid': '50'} proxycacheblobworker stdout | 2025-09-26 08:35:53,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:35:53,559 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:35:53,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:03 GMT)" executed successfully gcworker stdout | 2025-09-26 08:35:54,029 [57] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'gcworker.py', 'pid': '57'} queuecleanupworker stdout | 2025-09-26 08:35:54,128 [71] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'queuecleanupworker.py', 'pid': '71'} securityscanningnotificationworker stdout | 2025-09-26 08:35:54,452 [88] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityscanningnotificationworker.py', 'pid': '88'} chunkcleanupworker stdout | 2025-09-26 08:35:54,744 [53] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'chunkcleanupworker.py', 'pid': '53'} repositorygcworker stdout | 2025-09-26 08:35:55,457 [86] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositorygcworker.py', 'pid': '86'} gunicorn-secscan stdout | 2025-09-26 08:35:55,597 [227] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '227'} gunicorn-secscan stdout | 2025-09-26 08:35:55,607 [228] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '228'} gunicorn-secscan stdout | 2025-09-26 08:35:55,612 [60] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '60'} namespacegcworker stdout | 2025-09-26 08:35:55,850 [66] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'namespacegcworker.py', 'pid': '66'} securityscanningnotificationworker stdout | 2025-09-26 08:35:56,245 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:35:56,245 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:22.245238+00:00 (in 25.999878 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:35:56,245 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:40:56 GMT)" (scheduled at 2025-09-26 08:35:56.244910+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:35:56,246 [88] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [False, datetime.datetime(2025, 9, 26, 8, 35, 56, 246005), 'secscanv4/%']) securityscanningnotificationworker stdout | 2025-09-26 08:35:56,259 [88] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 35, 56, 246005), True, datetime.datetime(2025, 9, 26, 8, 35, 56, 246005), 0, 'secscanv4/%']) securityscanningnotificationworker stdout | 2025-09-26 08:35:56,269 [88] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) AND NOT ("t1"."queue_name" IN (SELECT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s)))))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 35, 56, 246005), True, datetime.datetime(2025, 9, 26, 8, 35, 56, 246005), 0, 'secscanv4/%', False, datetime.datetime(2025, 9, 26, 8, 35, 56, 246005), 'secscanv4/%']) securityscanningnotificationworker stdout | 2025-09-26 08:35:56,274 [88] [DEBUG] [data.database] Disconnecting from database. securityscanningnotificationworker stdout | 2025-09-26 08:35:56,274 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:40:56 GMT)" executed successfully repositoryactioncounter stdout | 2025-09-26 08:35:56,332 [80] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositoryactioncounter.py', 'pid': '80'} notificationworker stdout | 2025-09-26 08:35:56,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:35:56,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:06.440077+00:00 (in 9.999504 seconds) notificationworker stdout | 2025-09-26 08:35:56,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:06 GMT)" (scheduled at 2025-09-26 08:35:56.440077+00:00) notificationworker stdout | 2025-09-26 08:35:56,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. expiredappspecifictokenworker stdout | 2025-09-26 08:35:56,441 [55] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'expiredappspecifictokenworker.py', 'pid': '55'} notificationworker stdout | 2025-09-26 08:35:56,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 35, 56, 440941), True, datetime.datetime(2025, 9, 26, 8, 35, 56, 440941), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:35:56,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:35:56,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:35:56,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:06 GMT)" executed successfully gunicorn-web stdout | 2025-09-26 08:35:56,482 [240] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '240'} gunicorn-web stdout | 2025-09-26 08:35:56,486 [239] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '239'} gunicorn-web stdout | 2025-09-26 08:35:56,556 [242] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '242'} gunicorn-web stdout | 2025-09-26 08:35:56,562 [241] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '241'} gunicorn-web stdout | 2025-09-26 08:35:56,565 [61] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '61'} builder stdout | 2025-09-26 08:35:56,744 [51] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'builder.py', 'pid': '51'} securityworker stdout | 2025-09-26 08:35:57,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:35:57,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:19.334273+00:00 (in 21.998386 seconds) securityworker stdout | 2025-09-26 08:35:57,336 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:27 GMT)" (scheduled at 2025-09-26 08:35:57.335452+00:00) securityworker stdout | 2025-09-26 08:35:57,337 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:35:57,337 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:35:57,340 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:35:57,341 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:35:57,354 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:35:57,354 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:35:57,354 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:35:57,354 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:35:57,356 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 2]) securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:35:57,360 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:35:57,360 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:35:57,360 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:35:57,360 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:35:57,360 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:35:57,360 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:35:57,361 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:35:57,361 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:35:57,361 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:35:57,361 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:35:57,361 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:35:57,362 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 30, 57, 341624), 1, 2]) securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:35:57,365 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:35:57,366 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:35:57,366 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:35:57,366 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:35:57,366 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:35:57,366 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:35:57,366 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:35:57,366 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:35:57,366 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:35:57,366 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:35:57,366 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:35:57,368 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 30, 57, 341624), 1, 2]) securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:35:57,371 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:35:57,371 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:35:57,371 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:35:57,371 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:35:57,372 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:35:57,372 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:35:57,372 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:35:57,372 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:35:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:35:57,372 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:27 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:35:57,656 [68] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'notificationworker.py', 'pid': '68'} namespacegcworker stdout | 2025-09-26 08:35:58,836 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:35:58,836 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:34.840898+00:00 (in 36.004469 seconds) namespacegcworker stdout | 2025-09-26 08:35:58,836 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:58 GMT)" (scheduled at 2025-09-26 08:35:58.835976+00:00) namespacegcworker stdout | 2025-09-26 08:35:58,836 [66] [DEBUG] [workers.queueworker] Getting work item from queue. namespacegcworker stdout | 2025-09-26 08:35:58,844 [66] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 35, 58, 836772), True, datetime.datetime(2025, 9, 26, 8, 35, 58, 836772), 0, 'namespacegc/%', 50, 1, 0]) namespacegcworker stdout | 2025-09-26 08:35:58,859 [66] [DEBUG] [workers.queueworker] No more work. namespacegcworker stdout | 2025-09-26 08:35:58,859 [66] [DEBUG] [data.database] Disconnecting from database. namespacegcworker stdout | 2025-09-26 08:35:58,859 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:36:58 GMT)" executed successfully globalpromstats stdout | 2025-09-26 08:36:00,032 [58] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'globalpromstats.py', 'pid': '58'} gunicorn-web stdout | 2025-09-26 08:36:02,639 [242] [DEBUG] [app] Starting request: urn:request:19b6952e-3ecc-4d43-a45a-d6a50dc93390 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:36:02,640 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:36:02,642 [256] [DEBUG] [app] Starting request: urn:request:7133b545-d7c7-444e-b44c-ea72b0d6f472 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:36:02,643 [256] [DEBUG] [app] Ending request: urn:request:7133b545-d7c7-444e-b44c-ea72b0d6f472 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:7133b545-d7c7-444e-b44c-ea72b0d6f472', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:36:02,643 [256] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:36:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:36:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:36:02,643 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:36:02,644 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:36:02,646 [242] [DEBUG] [app] Starting request: urn:request:df0fd622-8dee-47b1-bbcf-b4d3e718a5ad (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:36:02,646 [242] [DEBUG] [app] Ending request: urn:request:df0fd622-8dee-47b1-bbcf-b4d3e718a5ad (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:df0fd622-8dee-47b1-bbcf-b4d3e718a5ad', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:36:02,647 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:36:02 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:36:02 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.002) gunicorn-web stdout | 2025-09-26 08:36:02,647 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:36:02,647 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:36:02,647 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:36:02,647 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:36:02,655 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:36:02,655 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:36:02,665 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:36:02,669 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:36:02,672 [242] [DEBUG] [app] Ending request: urn:request:19b6952e-3ecc-4d43-a45a-d6a50dc93390 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:19b6952e-3ecc-4d43-a45a-d6a50dc93390', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:36:02,672 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:36:02,673 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:36:02 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:36:02 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.034 118 0.035) gunicorn-web stdout | 2025-09-26 08:36:02,728 [242] [DEBUG] [app] Starting request: urn:request:bd8522b1-b582-4d18-bd2e-068119b8236d (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:36:02,729 [250] [DEBUG] [app] Starting request: urn:request:68669730-deea-4e0c-bbe1-17a44cebb200 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:36:02,730 [250] [DEBUG] [app] Ending request: urn:request:68669730-deea-4e0c-bbe1-17a44cebb200 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:68669730-deea-4e0c-bbe1-17a44cebb200', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:36:02,730 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:36:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:36:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-web stdout | 2025-09-26 08:36:02,730 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:36:02,731 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:36:02,733 [239] [DEBUG] [app] Starting request: urn:request:ac6eece9-6300-4df3-abca-bcc00f3b7fca (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:36:02,733 [239] [DEBUG] [app] Ending request: urn:request:ac6eece9-6300-4df3-abca-bcc00f3b7fca (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:ac6eece9-6300-4df3-abca-bcc00f3b7fca', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:36:02,734 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:36:02 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:36:02 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:36:02,734 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:36:02,734 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:36:02,734 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:36:02,734 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:36:02,741 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:36:02,741 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:36:02,752 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:36:02,756 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-registry stdout | 2025-09-26 08:36:02,756 [257] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '257'} gunicorn-web stdout | 2025-09-26 08:36:02,759 [242] [DEBUG] [app] Ending request: urn:request:bd8522b1-b582-4d18-bd2e-068119b8236d (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:bd8522b1-b582-4d18-bd2e-068119b8236d', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:36:02,759 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:36:02,760 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:36:02 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:36:02 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.033 118 0.033) gunicorn-registry stdout | 2025-09-26 08:36:02,765 [252] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '252'} gunicorn-registry stdout | 2025-09-26 08:36:02,769 [59] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '59'} gunicorn-registry stdout | 2025-09-26 08:36:02,774 [254] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '254'} gunicorn-registry stdout | 2025-09-26 08:36:02,831 [255] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '255'} gunicorn-registry stdout | 2025-09-26 08:36:02,838 [253] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '253'} gunicorn-registry stdout | 2025-09-26 08:36:02,857 [256] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '256'} gunicorn-registry stdout | 2025-09-26 08:36:02,861 [251] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '251'} gunicorn-registry stdout | 2025-09-26 08:36:02,871 [250] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '250'} proxycacheblobworker stdout | 2025-09-26 08:36:03,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:36:03,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:13.545186+00:00 (in 9.999556 seconds) proxycacheblobworker stdout | 2025-09-26 08:36:03,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:13 GMT)" (scheduled at 2025-09-26 08:36:03.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:36:03,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:36:03,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 36, 3, 546011), True, datetime.datetime(2025, 9, 26, 8, 36, 3, 546011), 0, 'proxycacheblob/%', 50, 1, 0]) exportactionlogsworker stdout | 2025-09-26 08:36:03,557 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} proxycacheblobworker stdout | 2025-09-26 08:36:03,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:36:03,559 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:36:03,559 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:13 GMT)" executed successfully gcworker stdout | 2025-09-26 08:36:04,439 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:36:04,439 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:21.444401+00:00 (in 17.004683 seconds) gcworker stdout | 2025-09-26 08:36:04,439 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:34 GMT)" (scheduled at 2025-09-26 08:36:04.439268+00:00) gcworker stdout | 2025-09-26 08:36:04,440 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:36:04,440 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:34 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:36:04,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:36:04,735 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:34.734534+00:00 (in 29.999476 seconds) autopruneworker stdout | 2025-09-26 08:36:04,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:34 GMT)" (scheduled at 2025-09-26 08:36:04.734534+00:00) autopruneworker stdout | 2025-09-26 08:36:04,743 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758872164743, None, 1, 0]) autopruneworker stdout | 2025-09-26 08:36:04,749 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:36:04,749 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:36:04,749 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:34 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:36:06,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:36:06,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:16.440077+00:00 (in 9.999484 seconds) notificationworker stdout | 2025-09-26 08:36:06,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:16 GMT)" (scheduled at 2025-09-26 08:36:06.440077+00:00) notificationworker stdout | 2025-09-26 08:36:06,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:36:06,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 36, 6, 440977), True, datetime.datetime(2025, 9, 26, 8, 36, 6, 440977), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:36:06,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:36:06,456 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:36:06,456 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:16 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:36:06,862 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} proxycacheblobworker stdout | 2025-09-26 08:36:09,157 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} buildlogsarchiver stdout | 2025-09-26 08:36:09,352 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:36:09,352 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:39.351551+00:00 (in 29.999214 seconds) buildlogsarchiver stdout | 2025-09-26 08:36:09,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:39 GMT)" (scheduled at 2025-09-26 08:36:09.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:36:09,353 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 36, 9, 352624), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:36:09,365 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:36:09,365 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:36:09,366 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:39 GMT)" executed successfully manifestbackfillworker stdout | 2025-09-26 08:36:10,248 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} proxycacheblobworker stdout | 2025-09-26 08:36:13,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:36:13,546 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:13.548017+00:00 (in 0.001914 seconds) proxycacheblobworker stdout | 2025-09-26 08:36:13,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:23 GMT)" (scheduled at 2025-09-26 08:36:13.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:36:13,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:36:13,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 36, 13, 546433), True, datetime.datetime(2025, 9, 26, 8, 36, 13, 546433), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:36:13,548 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:36:13,548 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:23.545186+00:00 (in 9.996842 seconds) proxycacheblobworker stdout | 2025-09-26 08:36:13,548 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:13 GMT)" (scheduled at 2025-09-26 08:36:13.548017+00:00) proxycacheblobworker stdout | 2025-09-26 08:36:13,548 [69] [DEBUG] [workers.queueworker] Running watchdog. proxycacheblobworker stdout | 2025-09-26 08:36:13,548 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:13 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:36:13,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:36:13,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:36:13,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:23 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:36:13,758 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:36:13,758 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:13.760217+00:00 (in 0.001603 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:36:13,758 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:13 GMT)" (scheduled at 2025-09-26 08:36:13.757911+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:36:13,759 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."subject_backfilled" = %s) OR ("t1"."subject_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:36:13,760 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:36:13,760 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:13.757911+00:00 (in 59.997299 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:36:13,760 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:13 GMT)" (scheduled at 2025-09-26 08:36:13.760217+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:36:13,761 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."artifact_type_backfilled" = %s) OR ("t1"."artifact_type_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:36:13,772 [64] [DEBUG] [__main__] Manifest subject backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:36:13,772 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:36:13,775 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:13 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:36:13,780 [64] [DEBUG] [__main__] Manifest artifact_type backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:36:13,780 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:36:13,780 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:13 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:36:16,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:36:16,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:26.440077+00:00 (in 9.999521 seconds) notificationworker stdout | 2025-09-26 08:36:16,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:26 GMT)" (scheduled at 2025-09-26 08:36:16.440077+00:00) notificationworker stdout | 2025-09-26 08:36:16,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:36:16,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 36, 16, 440898), True, datetime.datetime(2025, 9, 26, 8, 36, 16, 440898), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:36:16,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:36:16,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:36:16,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:26 GMT)" executed successfully securityworker stdout | 2025-09-26 08:36:17,256 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} gunicorn-web stdout | 2025-09-26 08:36:17,639 [240] [DEBUG] [app] Starting request: urn:request:bd1b006b-ed5c-4797-a4bd-75466a709a3e (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:36:17,641 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:36:17,643 [250] [DEBUG] [app] Starting request: urn:request:1a77d05c-d909-459d-b852-e8f01f811a13 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:36:17,644 [250] [DEBUG] [app] Ending request: urn:request:1a77d05c-d909-459d-b852-e8f01f811a13 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:1a77d05c-d909-459d-b852-e8f01f811a13', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:36:17,644 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:36:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:36:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.001) gunicorn-web stdout | 2025-09-26 08:36:17,644 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:36:17,646 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:36:17,647 [240] [DEBUG] [app] Starting request: urn:request:bb3dd2c1-5c18-48fe-9055-4063ad12fce4 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:36:17,648 [240] [DEBUG] [app] Ending request: urn:request:bb3dd2c1-5c18-48fe-9055-4063ad12fce4 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:bb3dd2c1-5c18-48fe-9055-4063ad12fce4', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:36:17,648 [240] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:36:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:36:17,648 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:36:17,649 [240] [DEBUG] [data.model.health] Validating database connection. nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:36:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:36:17,649 [240] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:36:17,649 [240] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:36:17,657 [240] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:36:17,658 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:36:17,667 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:36:17,671 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:36:17,674 [240] [DEBUG] [app] Ending request: urn:request:bd1b006b-ed5c-4797-a4bd-75466a709a3e (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:bd1b006b-ed5c-4797-a4bd-75466a709a3e', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:36:17,674 [240] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:36:17,674 [240] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:36:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:36:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.036 118 0.036) gunicorn-web stdout | 2025-09-26 08:36:17,728 [240] [DEBUG] [app] Starting request: urn:request:23fa8a9b-9bf2-49c6-8f76-7e5f8ade0567 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:36:17,730 [250] [DEBUG] [app] Starting request: urn:request:97c3d027-4536-4d20-a066-e6bd16eaa47e (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:36:17,731 [250] [DEBUG] [app] Ending request: urn:request:97c3d027-4536-4d20-a066-e6bd16eaa47e (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:97c3d027-4536-4d20-a066-e6bd16eaa47e', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:36:17,731 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:36:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:36:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-web stdout | 2025-09-26 08:36:17,731 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:36:17,732 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:36:17,734 [240] [DEBUG] [app] Starting request: urn:request:e6e51ba9-5c82-418a-a621-decb628b9577 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:36:17,734 [240] [DEBUG] [app] Ending request: urn:request:e6e51ba9-5c82-418a-a621-decb628b9577 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:e6e51ba9-5c82-418a-a621-decb628b9577', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:36:17,735 [240] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:36:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:36:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.001) gunicorn-web stdout | 2025-09-26 08:36:17,735 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:36:17,735 [240] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:36:17,735 [240] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:36:17,735 [240] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:36:17,744 [240] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:36:17,744 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:36:17,754 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:36:17,758 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:36:17,761 [240] [DEBUG] [app] Ending request: urn:request:23fa8a9b-9bf2-49c6-8f76-7e5f8ade0567 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:23fa8a9b-9bf2-49c6-8f76-7e5f8ade0567', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:36:17,761 [240] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:36:17,762 [240] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:36:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:36:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.033 118 0.034) securityworker stdout | 2025-09-26 08:36:19,334 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:36:19,334 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:27.335452+00:00 (in 8.000734 seconds) securityworker stdout | 2025-09-26 08:36:19,334 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:49 GMT)" (scheduled at 2025-09-26 08:36:19.334273+00:00) securityworker stdout | 2025-09-26 08:36:19,335 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:36:19,335 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:36:19,338 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:36:19,340 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:36:19,353 [89] [DEBUG] [peewee] ('SELECT Min("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:36:19,356 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stdout | 2025-09-26 08:36:19,356 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:49 GMT)" executed successfully logrotateworker stdout | 2025-09-26 08:36:20,270 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} gunicorn-web stdout | 2025-09-26 08:36:20,779 [240] [DEBUG] [app] Starting request: urn:request:d35f0dea-44e4-40d9-88f3-dbaf847fdf45 (/api/v1/organization/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:36:20,780 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."application_id", "t1"."authorized_user_id", "t1"."scope", "t1"."token_name", "t1"."token_code", "t1"."token_type", "t1"."expires_at", "t1"."data", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "oauthaccesstoken" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."authorized_user_id" = "t2"."id") WHERE ("t1"."token_name" = %s) LIMIT %s OFFSET %s', ['D1BMH6MLFZHLM2D9VN0N', 1, 0]) gunicorn-web stdout | 2025-09-26 08:36:21,075 [240] [DEBUG] [auth.oauth] Successfully validated oauth access token with scope: {Scope(scope='user:admin', icon='fa-gear', dangerous=True, title='Administer User', description='This application will be able to administer your account including creating robots and granting them permissions to your repositories. You should have absolute trust in the requesting application before granting this permission.'), Scope(scope='user:read', icon='fa-user', dangerous=False, title='Read User Information', description='This application will be able to read user information such as username and email address.'), Scope(scope='repo:admin', icon='fa-hdd-o', dangerous=False, title='Administer Repositories', description='This application will have administrator access to all repositories to which the granting user has access'), Scope(scope='super:user', icon='fa-street-view', dangerous=True, title='Super User Access', description='This application will be able to administer your installation including managing users, managing organizations and other features found in the superuser panel. You should have absolute trust in the requesting application before granting this permission.'), Scope(scope='org:admin', icon='fa-gear', dangerous=True, title='Administer Organization', description='This application will be able to administer your organizations including creating robots, creating teams, adjusting team membership, and changing billing settings. You should have absolute trust in the requesting application before granting this permission.'), Scope(scope='repo:write', icon='fa-hdd-o', dangerous=False, title='Read/Write to any accessible repositories', description='This application will be able to view, push and pull to all repositories to which the granting user has write access'), Scope(scope='repo:create', icon='fa-plus', dangerous=False, title='Create Repositories', description='This application will be able to create repositories in all namespaces that the granting user is allowed to create repositories'), Scope(scope='repo:read', icon='fa-hdd-o', dangerous=False, title='View all visible repositories', description='This application will be able to view and pull all repositories visible to the granting user')} gunicorn-web stdout | 2025-09-26 08:36:21,078 [240] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [None, None, None, , None, None, None]) gunicorn-web stdout | 2025-09-26 08:36:21,079 [240] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:36:21,079 [240] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:36:21,079 [240] [DEBUG] [endpoints.api] Checking permission for user quay gunicorn-web stdout | 2025-09-26 08:36:21,079 [240] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:36:21,079 [240] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:36:21,080 [240] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:36:21,080 [240] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:36:21,081 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."organization" = %s) AND ("t1"."username" = %s)) LIMIT %s OFFSET %s', [True, 'quayorg', 1, 0]) gunicorn-web stdout | 2025-09-26 08:36:21,087 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:36:21,091 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) OR ("t1"."email" = %s)) LIMIT %s OFFSET %s', ['quayorg', 'test2@redhat.com', 1, 0]) gunicorn-web stdout | 2025-09-26 08:36:21,093 [240] [DEBUG] [data.model.user] Email and username are unique! gunicorn-web stdout | 2025-09-26 08:36:21,094 [240] [DEBUG] [peewee] ('INSERT INTO "user" ("uuid", "username", "email", "verified", "organization", "robot", "invoice_email", "invalid_login_attempts", "last_invalid_login", "removed_tag_expiration_s", "enabled", "maximum_queued_builds_count", "creation_date") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "user"."id"', ['317f61bd-331d-4b42-9248-41871a179803', 'quayorg', 'test2@redhat.com', False, False, False, False, 0, datetime.datetime(2025, 9, 26, 8, 36, 21, 94087), 1209600, True, None, datetime.datetime(2025, 9, 26, 8, 36, 21, 94092)]) gunicorn-web stdout | 2025-09-26 08:36:21,096 [240] [DEBUG] [peewee] ('UPDATE "user" SET "uuid" = %s, "username" = %s, "email" = %s, "verified" = %s, "organization" = %s, "robot" = %s, "invoice_email" = %s, "invalid_login_attempts" = %s, "last_invalid_login" = %s, "removed_tag_expiration_s" = %s, "enabled" = %s, "maximum_queued_builds_count" = %s, "creation_date" = %s WHERE ("user"."id" = %s)', ['317f61bd-331d-4b42-9248-41871a179803', 'quayorg', 'test2@redhat.com', False, True, False, False, 0, datetime.datetime(2025, 9, 26, 8, 36, 21, 94087), 1209600, True, None, datetime.datetime(2025, 9, 26, 8, 36, 21, 94092), 2]) gunicorn-web stdout | 2025-09-26 08:36:21,098 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['admin', 1, 0]) gunicorn-web stdout | 2025-09-26 08:36:21,099 [240] [DEBUG] [peewee] ('INSERT INTO "team" ("name", "organization_id", "role_id", "description") VALUES (%s, %s, %s, %s) RETURNING "team"."id"', ['owners', 2, 1, '']) gunicorn-web stdout | 2025-09-26 08:36:21,102 [240] [DEBUG] [peewee] ('SELECT 1 FROM "teammember" AS "t1" WHERE (("t1"."user_id" = %s) AND ("t1"."team_id" = %s)) LIMIT %s', [1, 1, 1]) gunicorn-web stdout | 2025-09-26 08:36:21,103 [240] [DEBUG] [peewee] ('INSERT INTO "teammember" ("user_id", "team_id") VALUES (%s, %s) RETURNING "teammember"."id"', [1, 1]) gunicorn-web stdout | 2025-09-26 08:36:21,108 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."client_id", "t1"."secure_client_secret", "t1"."fully_migrated", "t1"."redirect_uri", "t1"."application_uri", "t1"."organization_id", "t1"."name", "t1"."description", "t1"."gravatar_email" FROM "oauthapplication" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-web stdout | 2025-09-26 08:36:21,112 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."username" = %s) LIMIT %s OFFSET %s', ['quayorg', 1, 0]) gunicorn-web stdout | 2025-09-26 08:36:21,115 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "logentrykind" AS "t1"', []) gunicorn-web stdout | 2025-09-26 08:36:21,120 [240] [DEBUG] [peewee] ('INSERT INTO "logentry3" ("kind_id", "account_id", "performer_id", "repository_id", "datetime", "ip", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s) RETURNING "logentry3"."id"', [80, 2, 1, None, datetime.datetime(2025, 9, 26, 8, 36, 21, 112112), '10.129.4.11', '{"email": "test2@redhat.com", "namespace": "quayorg", "oauth_token_id": 1, "oauth_token_application_id": "quay", "oauth_token_application": "automation"}']) gunicorn-web stdout | 2025-09-26 08:36:21,125 [240] [DEBUG] [app] Ending request: urn:request:d35f0dea-44e4-40d9-88f3-dbaf847fdf45 (/api/v1/organization/) {'endpoint': 'api.organizationlist', 'request_id': 'urn:request:d35f0dea-44e4-40d9-88f3-dbaf847fdf45', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/organization/', 'path': '/api/v1/organization/', 'parameters': {}, 'json_body': {'recaptcha_response': '', 'name': 'quayorg', 'email': 'test2@redhat.com'}, 'confsha': '3e1f2c97', 'user-agent': 'curl/7.61.1'} gunicorn-web stdout | 2025-09-26 08:36:21,125 [240] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:36:21,126 [240] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:21 +0000] "POST /api/v1/organization/ HTTP/1.0" 201 10 "-" "curl/7.61.1" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:21 +0000] "POST /api/v1/organization/ HTTP/1.1" 201 10 "-" "curl/7.61.1" (0.349 744 0.348) buildlogsarchiver stdout | 2025-09-26 08:36:21,362 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'} gcworker stdout | 2025-09-26 08:36:21,444 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:36:21,444 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:34.439268+00:00 (in 12.994426 seconds) gcworker stdout | 2025-09-26 08:36:21,445 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:51 GMT)" (scheduled at 2025-09-26 08:36:21.444401+00:00) gcworker stdout | 2025-09-26 08:36:21,445 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) gcworker stdout | 2025-09-26 08:36:21,457 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875481456, None, 1, 0]) gcworker stdout | 2025-09-26 08:36:21,461 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:36:21,462 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:51 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:36:21,919 [254] [DEBUG] [app] Starting request: urn:request:78c6bfc6-5900-4b23-bfa2-89d14a63bdca (/v2/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:21,920 [254] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {} gunicorn-registry stdout | 2025-09-26 08:36:21,920 [254] [DEBUG] [auth.registry_jwt_auth] No auth header. gunicorn-registry stdout | 2025-09-26 08:36:21,921 [254] [DEBUG] [app] Ending request: urn:request:78c6bfc6-5900-4b23-bfa2-89d14a63bdca (/v2/) {'endpoint': 'v2.v2_support_enabled', 'request_id': 'urn:request:78c6bfc6-5900-4b23-bfa2-89d14a63bdca', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/', 'path': '/v2/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:21 +0000] "GET /v2/ HTTP/1.1" 401 4 "-" "skopeo/1.14.5" (0.005 538 0.005) gunicorn-registry stdout | 2025-09-26 08:36:21,922 [254] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:21 +0000] "GET /v2/ HTTP/1.1" 401 4 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:36:22,047 [257] [DEBUG] [app] Starting request: urn:request:866907fe-9f5f-4fe9-be8a-f95b12ad8405 (/v2/auth) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:22,047 [257] [DEBUG] [auth.basic] Attempt to process basic auth header gunicorn-registry stdout | 2025-09-26 08:36:22,049 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) OR ("t1"."email" = %s)) LIMIT %s OFFSET %s', ['quay', 'quay', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,049 [257] [DEBUG] [peewee.pool] No connection available in pool. manifestsubjectbackfillworker stdout | 2025-09-26 08:36:22,050 [64] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestsubjectbackfillworker.py', 'pid': '64'} gunicorn-registry stdout | 2025-09-26 08:36:22,058 [257] [DEBUG] [peewee.pool] Created new connection 140484341653056. securityscanningnotificationworker stdout | 2025-09-26 08:36:22,245 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:36:22,245 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:42.242482+00:00 (in 19.996731 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:36:22,245 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:22 GMT)" (scheduled at 2025-09-26 08:36:22.245238+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:36:22,246 [88] [DEBUG] [workers.queueworker] Running watchdog. securityscanningnotificationworker stdout | 2025-09-26 08:36:22,246 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:22 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:36:22,347 [257] [DEBUG] [auth.credentials] Successfully validated credentials for user quay gunicorn-registry stdout | 2025-09-26 08:36:22,347 [257] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-registry stdout | 2025-09-26 08:36:22,348 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:22,348 [257] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-registry stdout | 2025-09-26 08:36:22,349 [257] [DEBUG] [endpoints.v2.v2auth] Request audience: quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com gunicorn-registry stdout | 2025-09-26 08:36:22,349 [257] [DEBUG] [endpoints.v2.v2auth] Scope request: ['repository:quayorg/quayrepo:pull,push'] gunicorn-registry stdout | 2025-09-26 08:36:22,350 [257] [DEBUG] [endpoints.v2.v2auth] Match: ('quayorg/quayrepo', 'quayorg/quayrepo', 'pull,push') gunicorn-registry stdout | 2025-09-26 08:36:22,351 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."username" = %s) LIMIT %s OFFSET %s', ['quayorg', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,356 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,362 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."username" = %s) LIMIT %s OFFSET %s', ['quayorg', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,366 [257] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-registry stdout | 2025-09-26 08:36:22,366 [257] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-registry stdout | 2025-09-26 08:36:22,366 [257] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-registry stdout | 2025-09-26 08:36:22,366 [257] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-registry stdout | 2025-09-26 08:36:22,370 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-registry stdout | 2025-09-26 08:36:22,376 [257] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-registry stdout | 2025-09-26 08:36:22,376 [257] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-registry stdout | 2025-09-26 08:36:22,376 [257] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-registry stdout | 2025-09-26 08:36:22,377 [257] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-registry stdout | 2025-09-26 08:36:22,377 [257] [DEBUG] [endpoints.v2.v2auth] Creating repository: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:22,378 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") INNER JOIN "repositorykind" AS "t3" ON ("t1"."kind_id" = "t3"."id") WHERE (((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) AND ("t3"."name" = %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 'image', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,383 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."username" = %s) LIMIT %s OFFSET %s', ['quayorg', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,387 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,390 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:22,392 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:22,394 [257] [DEBUG] [peewee] ('INSERT INTO "repository" ("namespace_user_id", "name", "visibility_id", "description", "badge_token", "kind_id", "trust_enabled", "state") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "repository"."id"', [2, 'quayrepo', 2, None, 'b4eeeba8-35c7-43e2-8936-ec3407ddb519', 1, False, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,398 [257] [DEBUG] [peewee] ('INSERT INTO "repositoryactioncount" ("repository_id", "count", "date") VALUES (%s, %s, %s) RETURNING "repositoryactioncount"."id"', [1, 0, datetime.date(2025, 9, 25)]) gunicorn-registry stdout | 2025-09-26 08:36:22,400 [257] [DEBUG] [peewee] ('INSERT INTO "repositorysearchscore" ("repository_id", "score") VALUES (%s, %s) RETURNING "repositorysearchscore"."id"', [1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,402 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "role" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['admin', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,405 [257] [DEBUG] [peewee] ('INSERT INTO "repositorypermission" ("user_id", "repository_id", "role_id") VALUES (%s, %s, %s) RETURNING "repositorypermission"."id"', [1, 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:22,409 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."org_id", "t1"."uuid", "t1"."activating_user_id", "t1"."delegate_user_id", "t1"."delegate_team_id", "t1"."role_id" FROM "permissionprototype" AS "t1" WHERE ((("t1"."org_id" = %s) AND (("t1"."activating_user_id" = %s) OR ("t1"."activating_user_id" IS %s))) AND ("t1"."delegate_user_id" IS %s))', [2, 1, None, None]) gunicorn-registry stdout | 2025-09-26 08:36:22,414 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."org_id", "t1"."uuid", "t1"."activating_user_id", "t1"."delegate_user_id", "t1"."delegate_team_id", "t1"."role_id" FROM "permissionprototype" AS "t1" WHERE ((("t1"."org_id" = %s) AND (("t1"."activating_user_id" = %s) OR ("t1"."activating_user_id" IS %s))) AND ("t1"."delegate_team_id" IS %s))', [2, 1, None, None]) gunicorn-registry stdout | 2025-09-26 08:36:22,418 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['public', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,421 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['quayorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,425 [257] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-registry stdout | 2025-09-26 08:36:22,426 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,438 [257] [DEBUG] [app] Ending request: urn:request:866907fe-9f5f-4fe9-be8a-f95b12ad8405 (/v2/auth) {'endpoint': 'v2.generate_registry_jwt', 'request_id': 'urn:request:866907fe-9f5f-4fe9-be8a-f95b12ad8405', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/auth?account=quay&scope=repository:quayorg/quayrepo:pull,push&service=quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com', 'path': '/v2/auth', 'parameters': {'account': 'quay', 'scope': 'repository:quayorg/quayrepo:pull,push', 'service': 'quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:22,438 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:22,438 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.129.4.11 (-) - quay [26/Sep/2025:08:36:22 +0000] "GET /v2/auth?account=quay&scope=repository%3Aquayorg%2Fquayrepo%3Apull%2Cpush&service=quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com HTTP/1.1" 200 1101 "-" "skopeo/1.14.5" (0.392 699 0.392) gunicorn-registry stdout | 2025-09-26 08:36:22,438 [257] [INFO] [gunicorn.access] 10.129.4.11 - quay [26/Sep/2025:08:36:22 +0000] "GET /v2/auth?account=quay&scope=repository%3Aquayorg%2Fquayrepo%3Apull%2Cpush&service=quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com HTTP/1.1" 200 1101 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:36:22,445 [257] [DEBUG] [data.userevent] Published user event docker-cli: {'action': 'push_start', 'namespace': 'quayorg', 'repository': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:22,482 [250] [DEBUG] [app] Starting request: urn:request:37d2f625-8fe6-4df3-adc8-b84c2d299b9c (/v2/quayorg/quayrepo/blobs/sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:22,482 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:22,482 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.J3tDyxbrTR9zBBEgH8pRIF2UcFYQB9WGe3lGvYAXtx7QfVpGZqOO7Vm_3fm6y1oOYOX1P9q_BPUh9J0xk0CUF-yyAlJP8slQsK6LTYGdzAEBydowOeMVUndIEyQmHBZciJNveBdZyXvFCZxp_YuM8rrbZs2NhRw6_t0j3BN2ze32M_QMNGLFIkXjIqkijOONjGBQYp1HYHXxAbs5YIskNGMKyM9UmK6XaIgg73CPzGCyycjK7-BJGQixvqhLBnG6cWlNZczCC5n9nVKAXMCt7aKiqcU5eY0RI5rq0Q2Ytm4d8WZJ91j-BHVcRoYa9isRguCCfgct4Bg6BZZx_-BQDg gunicorn-registry stdout | 2025-09-26 08:36:22,482 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.J3tDyxbrTR9zBBEgH8pRIF2UcFYQB9WGe3lGvYAXtx7QfVpGZqOO7Vm_3fm6y1oOYOX1P9q_BPUh9J0xk0CUF-yyAlJP8slQsK6LTYGdzAEBydowOeMVUndIEyQmHBZciJNveBdZyXvFCZxp_YuM8rrbZs2NhRw6_t0j3BN2ze32M_QMNGLFIkXjIqkijOONjGBQYp1HYHXxAbs5YIskNGMKyM9UmK6XaIgg73CPzGCyycjK7-BJGQixvqhLBnG6cWlNZczCC5n9nVKAXMCt7aKiqcU5eY0RI5rq0Q2Ytm4d8WZJ91j-BHVcRoYa9isRguCCfgct4Bg6BZZx_-BQDg gunicorn-registry stdout | 2025-09-26 08:36:22,485 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."kid", "t1"."service", "t1"."jwk", "t1"."metadata", "t1"."created_date", "t1"."expiration_date", "t1"."rotation_duration", "t1"."approval_id" FROM "servicekey" AS "t1" LEFT OUTER JOIN "servicekeyapproval" AS "t2" ON ("t1"."approval_id" = "t2"."id") WHERE ((((NOT ("t1"."approval_id" IS %s) AND (("t1"."expiration_date" > %s) OR ("t1"."expiration_date" IS %s))) AND ("t1"."service" = %s)) AND (NOT (("t1"."service" = %s) AND ("t1"."expiration_date" <= %s)) OR NOT ((("t1"."service" = %s) AND ("t1"."approval_id" IS %s)) AND ("t1"."created_date" <= %s)))) AND (NOT ("t1"."expiration_date" <= %s) OR ("t1"."expiration_date" IS %s)))', [None, datetime.datetime(2025, 9, 26, 8, 36, 22, 484037), None, 'quay', 'quay', datetime.datetime(2025, 9, 26, 8, 36, 22, 484080), 'quay', None, datetime.datetime(2025, 9, 25, 8, 36, 22, 484114), datetime.datetime(2025, 9, 19, 8, 36, 22, 484137), None]) gunicorn-registry stdout | 2025-09-26 08:36:22,486 [250] [DEBUG] [peewee.pool] No connection available in pool. gunicorn-registry stdout | 2025-09-26 08:36:22,494 [250] [DEBUG] [peewee.pool] Created new connection 140484341653056. gunicorn-registry stdout | 2025-09-26 08:36:22,503 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:22,503 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:22,504 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:22,504 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:22,504 [250] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:22,505 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,510 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['quayorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,514 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['quayorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:22,514 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__quayorg_quayrepo_sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3_2 gunicorn-registry stdout | 2025-09-26 08:36:22,515 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__quayorg_quayrepo_sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:22,517 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,522 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,526 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,530 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:22,533 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['public', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,537 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [1, 'sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,542 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [1, 'sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,545 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__quayorg_quayrepo_sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3_2: None gunicorn-registry stdout | 2025-09-26 08:36:22,546 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__quayorg_quayrepo_sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3_2: None gunicorn-registry stdout | 2025-09-26 08:36:22,546 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:22,547 [250] [DEBUG] [app] Ending request: urn:request:37d2f625-8fe6-4df3-adc8-b84c2d299b9c (/v2/quayorg/quayrepo/blobs/sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:37d2f625-8fe6-4df3-adc8-b84c2d299b9c', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'path': '/v2/quayorg/quayrepo/blobs/sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:22,548 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:22,548 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:22,548 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:22 +0000] "HEAD /v2/quayorg/quayrepo/blobs/sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:22 +0000] "HEAD /v2/quayorg/quayrepo/blobs/sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.069 1722 0.069) gunicorn-registry stdout | 2025-09-26 08:36:22,852 [256] [DEBUG] [app] Starting request: urn:request:cc4d2be1-62f3-4a02-8d9e-aeb72386f1ae (/v2/quayorg/quayrepo/blobs/sha256:35674bc8d630863861cf718b65b254a4b3351f7dec785b3887ca1eb3eb1ad0e9) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:22,852 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:35674bc8d630863861cf718b65b254a4b3351f7dec785b3887ca1eb3eb1ad0e9', 'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:22,852 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:22,853 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:22,855 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."kid", "t1"."service", "t1"."jwk", "t1"."metadata", "t1"."created_date", "t1"."expiration_date", "t1"."rotation_duration", "t1"."approval_id" FROM "servicekey" AS "t1" LEFT OUTER JOIN "servicekeyapproval" AS "t2" ON ("t1"."approval_id" = "t2"."id") WHERE ((((NOT ("t1"."approval_id" IS %s) AND (("t1"."expiration_date" > %s) OR ("t1"."expiration_date" IS %s))) AND ("t1"."service" = %s)) AND (NOT (("t1"."service" = %s) AND ("t1"."expiration_date" <= %s)) OR NOT ((("t1"."service" = %s) AND ("t1"."approval_id" IS %s)) AND ("t1"."created_date" <= %s)))) AND (NOT ("t1"."expiration_date" <= %s) OR ("t1"."expiration_date" IS %s)))', [None, datetime.datetime(2025, 9, 26, 8, 36, 22, 853926), None, 'quay', 'quay', datetime.datetime(2025, 9, 26, 8, 36, 22, 853974), 'quay', None, datetime.datetime(2025, 9, 25, 8, 36, 22, 854002), datetime.datetime(2025, 9, 19, 8, 36, 22, 854019), None]) gunicorn-registry stdout | 2025-09-26 08:36:22,855 [256] [DEBUG] [peewee.pool] No connection available in pool. gunicorn-registry stdout | 2025-09-26 08:36:22,855 [250] [DEBUG] [app] Starting request: urn:request:e3a156e6-f2ef-42c2-a598-64154ef101ba (/v2/quayorg/quayrepo/blobs/sha256:cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:22,856 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a', 'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:22,856 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:22,856 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:22,857 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:22,857 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:22,857 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:22,857 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:22,858 [250] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:22,859 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,866 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['quayorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,872 [256] [DEBUG] [peewee.pool] Created new connection 140484341653056. gunicorn-registry stdout | 2025-09-26 08:36:22,877 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['quayorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:22,878 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__quayorg_quayrepo_sha256:cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a_2 gunicorn-registry stdout | 2025-09-26 08:36:22,879 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__quayorg_quayrepo_sha256:cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:22,879 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,889 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:22,889 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:22,889 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:22,889 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:22,889 [256] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:22,891 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,895 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,902 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['quayorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,906 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,911 [256] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['quayorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:22,912 [256] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__quayorg_quayrepo_sha256:35674bc8d630863861cf718b65b254a4b3351f7dec785b3887ca1eb3eb1ad0e9_2 gunicorn-registry stdout | 2025-09-26 08:36:22,912 [256] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__quayorg_quayrepo_sha256:35674bc8d630863861cf718b65b254a4b3351f7dec785b3887ca1eb3eb1ad0e9_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:22,916 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,919 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [1, 'sha256:cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,921 [257] [DEBUG] [app] Starting request: urn:request:b537dae8-a614-4470-a657-74c621609d33 (/v2/quayorg/quayrepo/blobs/sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:22,921 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:22,921 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:22,921 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:22,922 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."kid", "t1"."service", "t1"."jwk", "t1"."metadata", "t1"."created_date", "t1"."expiration_date", "t1"."rotation_duration", "t1"."approval_id" FROM "servicekey" AS "t1" LEFT OUTER JOIN "servicekeyapproval" AS "t2" ON ("t1"."approval_id" = "t2"."id") WHERE ((((NOT ("t1"."approval_id" IS %s) AND (("t1"."expiration_date" > %s) OR ("t1"."expiration_date" IS %s))) AND ("t1"."service" = %s)) AND (NOT (("t1"."service" = %s) AND ("t1"."expiration_date" <= %s)) OR NOT ((("t1"."service" = %s) AND ("t1"."approval_id" IS %s)) AND ("t1"."created_date" <= %s)))) AND (NOT ("t1"."expiration_date" <= %s) OR ("t1"."expiration_date" IS %s)))', [None, datetime.datetime(2025, 9, 26, 8, 36, 22, 921668), None, 'quay', 'quay', datetime.datetime(2025, 9, 26, 8, 36, 22, 921694), 'quay', None, datetime.datetime(2025, 9, 25, 8, 36, 22, 921721), datetime.datetime(2025, 9, 19, 8, 36, 22, 921739), None]) gunicorn-registry stdout | 2025-09-26 08:36:22,928 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,929 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [1, 'sha256:cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,936 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:22,936 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:22,936 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:22,936 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:22,936 [257] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:22,937 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,939 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__quayorg_quayrepo_sha256:cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a_2: None gunicorn-registry stdout | 2025-09-26 08:36:22,939 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__quayorg_quayrepo_sha256:cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a_2: None gunicorn-registry stdout | 2025-09-26 08:36:22,939 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:22,939 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,940 [250] [DEBUG] [app] Ending request: urn:request:e3a156e6-f2ef-42c2-a598-64154ef101ba (/v2/quayorg/quayrepo/blobs/sha256:cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:e3a156e6-f2ef-42c2-a598-64154ef101ba', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/sha256:cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a', 'path': '/v2/quayorg/quayrepo/blobs/sha256:cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:22,940 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:22,940 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:22,940 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:22 +0000] "HEAD /v2/quayorg/quayrepo/blobs/sha256:cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:22 +0000] "HEAD /v2/quayorg/quayrepo/blobs/sha256:cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.086 1722 0.086) gunicorn-registry stdout | 2025-09-26 08:36:22,947 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['quayorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,952 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:22,958 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['quayorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:22,958 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__quayorg_quayrepo_sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3_2 gunicorn-registry stdout | 2025-09-26 08:36:22,959 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__quayorg_quayrepo_sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:22,960 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,964 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['public', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,972 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,976 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [1, 'sha256:35674bc8d630863861cf718b65b254a4b3351f7dec785b3887ca1eb3eb1ad0e9', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,982 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,987 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [1, 'sha256:35674bc8d630863861cf718b65b254a4b3351f7dec785b3887ca1eb3eb1ad0e9', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,995 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [1, 'sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:22,998 [256] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__quayorg_quayrepo_sha256:35674bc8d630863861cf718b65b254a4b3351f7dec785b3887ca1eb3eb1ad0e9_2: None gunicorn-registry stdout | 2025-09-26 08:36:22,999 [256] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__quayorg_quayrepo_sha256:35674bc8d630863861cf718b65b254a4b3351f7dec785b3887ca1eb3eb1ad0e9_2: None gunicorn-registry stdout | 2025-09-26 08:36:22,999 [256] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:23,000 [256] [DEBUG] [app] Ending request: urn:request:cc4d2be1-62f3-4a02-8d9e-aeb72386f1ae (/v2/quayorg/quayrepo/blobs/sha256:35674bc8d630863861cf718b65b254a4b3351f7dec785b3887ca1eb3eb1ad0e9) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:cc4d2be1-62f3-4a02-8d9e-aeb72386f1ae', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/sha256:35674bc8d630863861cf718b65b254a4b3351f7dec785b3887ca1eb3eb1ad0e9', 'path': '/v2/quayorg/quayrepo/blobs/sha256:35674bc8d630863861cf718b65b254a4b3351f7dec785b3887ca1eb3eb1ad0e9', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:23,000 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:23,000 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:23,001 [256] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:23 +0000] "HEAD /v2/quayorg/quayrepo/blobs/sha256:35674bc8d630863861cf718b65b254a4b3351f7dec785b3887ca1eb3eb1ad0e9 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:23 +0000] "HEAD /v2/quayorg/quayrepo/blobs/sha256:35674bc8d630863861cf718b65b254a4b3351f7dec785b3887ca1eb3eb1ad0e9 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.151 1722 0.151) gunicorn-registry stdout | 2025-09-26 08:36:23,007 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [1, 'sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,017 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__quayorg_quayrepo_sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3_2: None gunicorn-registry stdout | 2025-09-26 08:36:23,018 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__quayorg_quayrepo_sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3_2: None gunicorn-registry stdout | 2025-09-26 08:36:23,018 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:23,019 [257] [DEBUG] [app] Ending request: urn:request:b537dae8-a614-4470-a657-74c621609d33 (/v2/quayorg/quayrepo/blobs/sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:b537dae8-a614-4470-a657-74c621609d33', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'path': '/v2/quayorg/quayrepo/blobs/sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:23,019 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:23,019 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:23 +0000] "HEAD /v2/quayorg/quayrepo/blobs/sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.102 1722 0.102) gunicorn-registry stdout | 2025-09-26 08:36:23,019 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:23 +0000] "HEAD /v2/quayorg/quayrepo/blobs/sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:36:23,062 [254] [DEBUG] [app] Starting request: urn:request:37430ef8-3ed3-4235-a246-9f86b8cc3740 (/v2/quayorg/quayrepo/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:23,063 [254] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:23,063 [254] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:23,063 [254] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:23,071 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."kid", "t1"."service", "t1"."jwk", "t1"."metadata", "t1"."created_date", "t1"."expiration_date", "t1"."rotation_duration", "t1"."approval_id" FROM "servicekey" AS "t1" LEFT OUTER JOIN "servicekeyapproval" AS "t2" ON ("t1"."approval_id" = "t2"."id") WHERE ((((NOT ("t1"."approval_id" IS %s) AND (("t1"."expiration_date" > %s) OR ("t1"."expiration_date" IS %s))) AND ("t1"."service" = %s)) AND (NOT (("t1"."service" = %s) AND ("t1"."expiration_date" <= %s)) OR NOT ((("t1"."service" = %s) AND ("t1"."approval_id" IS %s)) AND ("t1"."created_date" <= %s)))) AND (NOT ("t1"."expiration_date" <= %s) OR ("t1"."expiration_date" IS %s)))', [None, datetime.datetime(2025, 9, 26, 8, 36, 23, 64060), None, 'quay', 'quay', datetime.datetime(2025, 9, 26, 8, 36, 23, 70429), 'quay', None, datetime.datetime(2025, 9, 25, 8, 36, 23, 70479), datetime.datetime(2025, 9, 19, 8, 36, 23, 70508), None]) gunicorn-registry stdout | 2025-09-26 08:36:23,072 [254] [DEBUG] [peewee.pool] No connection available in pool. gunicorn-registry stdout | 2025-09-26 08:36:23,088 [254] [DEBUG] [peewee.pool] Created new connection 140484341653056. storagereplication stdout | 2025-09-26 08:36:23,098 [95] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'storagereplication.py', 'pid': '95'} gunicorn-registry stdout | 2025-09-26 08:36:23,105 [254] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:23,105 [254] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:23,105 [254] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:23,105 [254] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:23,105 [254] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:23,106 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,113 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,117 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,121 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:23,126 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['public', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,130 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,134 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,138 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,142 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-registry stdout | 2025-09-26 08:36:23,146 [254] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/endpoints.json repositorygcworker stdout | 2025-09-26 08:36:23,149 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:36:23,149 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:39.235682+00:00 (in 16.086125 seconds) repositorygcworker stdout | 2025-09-26 08:36:23,149 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:23 GMT)" (scheduled at 2025-09-26 08:36:23.149141+00:00) repositorygcworker stdout | 2025-09-26 08:36:23,149 [86] [DEBUG] [workers.queueworker] Getting work item from queue. repositorygcworker stdout | 2025-09-26 08:36:23,157 [86] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 36, 23, 149942), True, datetime.datetime(2025, 9, 26, 8, 36, 23, 149942), 0, 'repositorygc/%', 50, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,164 [254] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/sdk-default-configuration.json gunicorn-registry stdout | 2025-09-26 08:36:23,164 [254] [DEBUG] [botocore.hooks] Event choose-service-name: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,178 [254] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/s3/2006-03-01/service-2.json repositorygcworker stdout | 2025-09-26 08:36:23,179 [86] [DEBUG] [workers.queueworker] No more work. repositorygcworker stdout | 2025-09-26 08:36:23,179 [86] [DEBUG] [data.database] Disconnecting from database. repositorygcworker stdout | 2025-09-26 08:36:23,179 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:23 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:36:23,206 [254] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/s3/2006-03-01/endpoint-rule-set-1.json gunicorn-registry stdout | 2025-09-26 08:36:23,210 [254] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/partitions.json gunicorn-registry stdout | 2025-09-26 08:36:23,211 [254] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,212 [254] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler ._handler at 0x7fc5109ceb60> gunicorn-registry stdout | 2025-09-26 08:36:23,255 [254] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,257 [254] [DEBUG] [botocore.endpoint] Setting s3 timeout as (60, 60) gunicorn-registry stdout | 2025-09-26 08:36:23,260 [254] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/_retry.json gunicorn-registry stdout | 2025-09-26 08:36:23,261 [254] [DEBUG] [botocore.client] Registering retry handlers for service: s3 gunicorn-registry stdout | 2025-09-26 08:36:23,261 [254] [DEBUG] [botocore.utils] Registering S3 region redirector handler gunicorn-registry stdout | 2025-09-26 08:36:23,275 [254] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/boto3/data/s3/2006-03-01/resources-1.json gunicorn-registry stdout | 2025-09-26 08:36:23,276 [254] [DEBUG] [botocore.hooks] Event choose-service-name: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,277 [254] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,277 [254] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler ._handler at 0x7fc5109ceb60> gunicorn-registry stdout | 2025-09-26 08:36:23,277 [254] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,280 [254] [DEBUG] [botocore.endpoint] Setting s3 timeout as (60, 60) gunicorn-registry stdout | 2025-09-26 08:36:23,282 [254] [DEBUG] [botocore.client] Registering retry handlers for service: s3 gunicorn-registry stdout | 2025-09-26 08:36:23,283 [254] [DEBUG] [botocore.utils] Registering S3 region redirector handler gunicorn-registry stdout | 2025-09-26 08:36:23,283 [254] [DEBUG] [boto3.resources.factory] Loading s3:s3 gunicorn-registry stdout | 2025-09-26 08:36:23,285 [254] [DEBUG] [boto3.resources.factory] Loading s3:Bucket gunicorn-registry stdout | 2025-09-26 08:36:23,285 [254] [DEBUG] [boto3.resources.model] Renaming Bucket attribute name gunicorn-registry stdout | 2025-09-26 08:36:23,286 [254] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Bucket: calling handler ._handler at 0x7fc5109cee80> gunicorn-registry stdout | 2025-09-26 08:36:23,286 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,286 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,286 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,286 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,286 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,287 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,287 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:23,288 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:23,288 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:23,288 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:23,288 [254] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,288 [254] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,288 [254] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,288 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadBucket) with params: {'url_path': '', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:23,289 [254] [DEBUG] [botocore.hooks] Event request-created.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,289 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,289 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,289 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,289 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:23,289 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083623Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:23,290 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083623Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 56f49b6dc09aa053059b4f203f31900ae16474e7b5c807742dcda9843cde70d6 gunicorn-registry stdout | 2025-09-26 08:36:23,290 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6e933e84cea0686da6deff6bdbf981b23f6be4735b8c11ef1a2bfef9a8457046 gunicorn-registry stdout | 2025-09-26 08:36:23,290 [254] [DEBUG] [botocore.hooks] Event request-created.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,290 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:23,292 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:23,293 [254] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (1): s3.openshift-storage.svc.cluster.local:443 gunicorn-registry stdout | 2025-09-26 08:36:23,338 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:23,339 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l887v-83y365-7pj', 'x-amz-id-2': 'mg0l887v-83y365-7pj', 'Date': 'Fri, 26 Sep 2025 08:36:23 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:23,339 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:23,339 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,339 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:23,339 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,340 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,344 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "imagestoragelocation" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:23,347 [254] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [1, '460ed1f4-ce56-4b2e-9913-73dbd1a1368b', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 23, 347241)]) gunicorn-registry stdout | 2025-09-26 08:36:23,349 [250] [DEBUG] [app] Starting request: urn:request:dae52999-3cce-4083-b6eb-1fa8ac0fbada (/v2/quayorg/quayrepo/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:23,349 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:23,349 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:23,349 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:23,350 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:23,350 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:23,350 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:23,350 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:23,351 [250] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:23,352 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,354 [257] [DEBUG] [app] Starting request: urn:request:6c7d387b-4678-4d09-bb3b-f38c2d8411af (/v2/quayorg/quayrepo/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:23,354 [254] [DEBUG] [app] Ending request: urn:request:37430ef8-3ed3-4235-a246-9f86b8cc3740 (/v2/quayorg/quayrepo/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:37430ef8-3ed3-4235-a246-9f86b8cc3740', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/uploads/', 'path': '/v2/quayorg/quayrepo/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:23,354 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:23,354 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:23,354 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:23,354 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:23,354 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:23,354 [254] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:23 +0000] "POST /v2/quayorg/quayrepo/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:23 +0000] "POST /v2/quayorg/quayrepo/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.294 1701 0.293) gunicorn-registry stdout | 2025-09-26 08:36:23,356 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,359 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,360 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:23,361 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:23,361 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:23,361 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:23,361 [257] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:23,362 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,364 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,366 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,367 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,370 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,372 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,374 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,376 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-registry stdout | 2025-09-26 08:36:23,378 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,381 [256] [DEBUG] [app] Starting request: urn:request:d5482d64-a253-49b7-b946-2107e64e5c18 (/v2/quayorg/quayrepo/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:23,381 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:23,381 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:23,381 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:23,381 [250] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/endpoints.json gunicorn-registry stdout | 2025-09-26 08:36:23,382 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:23,382 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:23,382 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:23,382 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:23,382 [256] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:23,383 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,383 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,387 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,388 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-registry stdout | 2025-09-26 08:36:23,391 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,394 [257] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/endpoints.json gunicorn-registry stdout | 2025-09-26 08:36:23,396 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,399 [253] [DEBUG] [app] Starting request: urn:request:f32d9d69-976c-4af7-b0fa-6695f4596745 (/v2/quayorg/quayrepo/blobs/uploads/460ed1f4-ce56-4b2e-9913-73dbd1a1368b) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:23,399 [253] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '460ed1f4-ce56-4b2e-9913-73dbd1a1368b', 'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:23,399 [253] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:23,399 [253] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:23,402 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,402 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."kid", "t1"."service", "t1"."jwk", "t1"."metadata", "t1"."created_date", "t1"."expiration_date", "t1"."rotation_duration", "t1"."approval_id" FROM "servicekey" AS "t1" LEFT OUTER JOIN "servicekeyapproval" AS "t2" ON ("t1"."approval_id" = "t2"."id") WHERE ((((NOT ("t1"."approval_id" IS %s) AND (("t1"."expiration_date" > %s) OR ("t1"."expiration_date" IS %s))) AND ("t1"."service" = %s)) AND (NOT (("t1"."service" = %s) AND ("t1"."expiration_date" <= %s)) OR NOT ((("t1"."service" = %s) AND ("t1"."approval_id" IS %s)) AND ("t1"."created_date" <= %s)))) AND (NOT ("t1"."expiration_date" <= %s) OR ("t1"."expiration_date" IS %s)))', [None, datetime.datetime(2025, 9, 26, 8, 36, 23, 400713), None, 'quay', 'quay', datetime.datetime(2025, 9, 26, 8, 36, 23, 400758), 'quay', None, datetime.datetime(2025, 9, 25, 8, 36, 23, 400797), datetime.datetime(2025, 9, 19, 8, 36, 23, 400825), None]) gunicorn-registry stdout | 2025-09-26 08:36:23,403 [253] [DEBUG] [peewee.pool] No connection available in pool. gunicorn-registry stdout | 2025-09-26 08:36:23,407 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,408 [250] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/sdk-default-configuration.json gunicorn-registry stdout | 2025-09-26 08:36:23,409 [250] [DEBUG] [botocore.hooks] Event choose-service-name: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,411 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-registry stdout | 2025-09-26 08:36:23,417 [256] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/endpoints.json gunicorn-registry stdout | 2025-09-26 08:36:23,418 [257] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/sdk-default-configuration.json gunicorn-registry stdout | 2025-09-26 08:36:23,419 [257] [DEBUG] [botocore.hooks] Event choose-service-name: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,412 [253] [DEBUG] [peewee.pool] Created new connection 140484341653056. gunicorn-registry stdout | 2025-09-26 08:36:23,423 [250] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/s3/2006-03-01/service-2.json gunicorn-registry stdout | 2025-09-26 08:36:23,430 [253] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:23,430 [253] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:23,430 [253] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:23,430 [253] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:23,430 [253] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:23,433 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,436 [255] [DEBUG] [app] Starting request: urn:request:5a62ce21-5b94-4317-b6e1-0d0aee3c7574 (/v2/quayorg/quayrepo/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:23,437 [255] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:23,437 [255] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:23,437 [255] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:23,438 [257] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/s3/2006-03-01/service-2.json gunicorn-registry stdout | 2025-09-26 08:36:23,439 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,443 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,447 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."kid", "t1"."service", "t1"."jwk", "t1"."metadata", "t1"."created_date", "t1"."expiration_date", "t1"."rotation_duration", "t1"."approval_id" FROM "servicekey" AS "t1" LEFT OUTER JOIN "servicekeyapproval" AS "t2" ON ("t1"."approval_id" = "t2"."id") WHERE ((((NOT ("t1"."approval_id" IS %s) AND (("t1"."expiration_date" > %s) OR ("t1"."expiration_date" IS %s))) AND ("t1"."service" = %s)) AND (NOT (("t1"."service" = %s) AND ("t1"."expiration_date" <= %s)) OR NOT ((("t1"."service" = %s) AND ("t1"."approval_id" IS %s)) AND ("t1"."created_date" <= %s)))) AND (NOT ("t1"."expiration_date" <= %s) OR ("t1"."expiration_date" IS %s)))', [None, datetime.datetime(2025, 9, 26, 8, 36, 23, 438353), None, 'quay', 'quay', datetime.datetime(2025, 9, 26, 8, 36, 23, 438384), 'quay', None, datetime.datetime(2025, 9, 25, 8, 36, 23, 438411), datetime.datetime(2025, 9, 19, 8, 36, 23, 438428), None]) gunicorn-registry stdout | 2025-09-26 08:36:23,448 [255] [DEBUG] [peewee.pool] No connection available in pool. gunicorn-registry stdout | 2025-09-26 08:36:23,448 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:23,452 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['public', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,452 [250] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/s3/2006-03-01/endpoint-rule-set-1.json gunicorn-registry stdout | 2025-09-26 08:36:23,455 [253] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,456 [255] [DEBUG] [peewee.pool] Created new connection 140484341653056. gunicorn-registry stdout | 2025-09-26 08:36:23,457 [250] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/partitions.json gunicorn-registry stdout | 2025-09-26 08:36:23,458 [256] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/sdk-default-configuration.json gunicorn-registry stdout | 2025-09-26 08:36:23,459 [256] [DEBUG] [botocore.hooks] Event choose-service-name: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,460 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,460 [250] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,460 [250] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler ._handler at 0x7fc5109ceb60> gunicorn-registry stdout | 2025-09-26 08:36:23,464 [257] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/s3/2006-03-01/endpoint-rule-set-1.json gunicorn-registry stdout | 2025-09-26 08:36:23,464 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,466 [255] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:23,466 [255] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:23,466 [255] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:23,466 [255] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:23,466 [255] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:23,469 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,469 [257] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/partitions.json gunicorn-registry stdout | 2025-09-26 08:36:23,469 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,471 [257] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,471 [257] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler ._handler at 0x7fc5109ceb60> gunicorn-registry stdout | 2025-09-26 08:36:23,473 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-registry stdout | 2025-09-26 08:36:23,474 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,475 [256] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/s3/2006-03-01/service-2.json gunicorn-registry stdout | 2025-09-26 08:36:23,477 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['460ed1f4-ce56-4b2e-9913-73dbd1a1368b', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,478 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,481 [253] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:23,481 [253] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:23,534 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:23,535 [253] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/endpoints.json gunicorn-registry stdout | 2025-09-26 08:36:23,538 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['public', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,542 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:36:23,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:36:23,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:33.545186+00:00 (in 9.999292 seconds) proxycacheblobworker stdout | 2025-09-26 08:36:23,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:33 GMT)" (scheduled at 2025-09-26 08:36:23.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:36:23,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. gunicorn-registry stdout | 2025-09-26 08:36:23,546 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:36:23,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 36, 23, 546354), True, datetime.datetime(2025, 9, 26, 8, 36, 23, 546354), 0, 'proxycacheblob/%', 50, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,550 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,554 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) proxycacheblobworker stdout | 2025-09-26 08:36:23,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:36:23,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:36:23,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:33 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:36:23,561 [256] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/s3/2006-03-01/endpoint-rule-set-1.json gunicorn-registry stdout | 2025-09-26 08:36:23,562 [255] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/endpoints.json gunicorn-registry stdout | 2025-09-26 08:36:23,565 [253] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/sdk-default-configuration.json gunicorn-registry stdout | 2025-09-26 08:36:23,565 [253] [DEBUG] [botocore.hooks] Event choose-service-name: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,634 [254] [DEBUG] [app] Starting request: urn:request:ad36b6eb-6524-48c9-aeed-e3fd8fa18384 (/v2/quayorg/quayrepo/blobs/uploads/ad61bdb4-754a-404b-b962-308e88e0ee5b) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:23,634 [254] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'ad61bdb4-754a-404b-b962-308e88e0ee5b', 'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:23,634 [254] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:23,634 [254] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:23,636 [254] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:23,636 [254] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:23,636 [254] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:23,636 [254] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:23,636 [254] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:23,635 [256] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/partitions.json gunicorn-registry stdout | 2025-09-26 08:36:23,639 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,639 [256] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,639 [256] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler ._handler at 0x7fc5109ceb60> teamsyncworker stdout | 2025-09-26 08:36:23,642 [105] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'teamsyncworker.py', 'pid': '105'} gunicorn-registry stdout | 2025-09-26 08:36:23,644 [253] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/s3/2006-03-01/service-2.json gunicorn-registry stdout | 2025-09-26 08:36:23,645 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,648 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,650 [250] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler servicekey stdout | 2025-09-26 08:36:23,652 [93] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'servicekeyworker.py', 'pid': '93'} gunicorn-registry stdout | 2025-09-26 08:36:23,653 [250] [DEBUG] [botocore.endpoint] Setting s3 timeout as (60, 60) gunicorn-registry stdout | 2025-09-26 08:36:23,653 [254] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,655 [257] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,657 [250] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/_retry.json gunicorn-registry stdout | 2025-09-26 08:36:23,657 [250] [DEBUG] [botocore.client] Registering retry handlers for service: s3 gunicorn-registry stdout | 2025-09-26 08:36:23,658 [250] [DEBUG] [botocore.utils] Registering S3 region redirector handler gunicorn-registry stdout | 2025-09-26 08:36:23,658 [255] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/sdk-default-configuration.json blobuploadcleanupworker stdout | 2025-09-26 08:36:23,733 [50] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'blobuploadcleanupworker.py', 'pid': '50'} gunicorn-registry stdout | 2025-09-26 08:36:23,659 [257] [DEBUG] [botocore.endpoint] Setting s3 timeout as (60, 60) gunicorn-registry stdout | 2025-09-26 08:36:23,659 [255] [DEBUG] [botocore.hooks] Event choose-service-name: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,659 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,662 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,666 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,733 [257] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/_retry.json gunicorn-registry stdout | 2025-09-26 08:36:23,734 [257] [DEBUG] [botocore.client] Registering retry handlers for service: s3 gunicorn-registry stdout | 2025-09-26 08:36:23,734 [257] [DEBUG] [botocore.utils] Registering S3 region redirector handler gunicorn-registry stdout | 2025-09-26 08:36:23,736 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-registry stdout | 2025-09-26 08:36:23,741 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['ad61bdb4-754a-404b-b962-308e88e0ee5b', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,745 [255] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/s3/2006-03-01/service-2.json gunicorn-registry stdout | 2025-09-26 08:36:23,745 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:23,745 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:23,746 [254] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:23,747 [250] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/boto3/data/s3/2006-03-01/resources-1.json gunicorn-registry stdout | 2025-09-26 08:36:23,747 [254] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:23,747 [254] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:23,747 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,747 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,747 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,748 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,748 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,748 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,748 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,748 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,748 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:23,748 [250] [DEBUG] [botocore.hooks] Event choose-service-name: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,749 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:23,749 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:23,749 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:23,749 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,749 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,749 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,749 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:23,750 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,750 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,750 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,750 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,750 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:23,750 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083623Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:23,750 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083623Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 3284fcb3ecd2c03b23bb820f10c99ef0ab40ca52cd115b2738e1d1798d7e840a gunicorn-registry stdout | 2025-09-26 08:36:23,751 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 31b5b36786e4c4ca457b7517f9142782d48fff40a87e6d2ddd92466e794ea808 gunicorn-registry stdout | 2025-09-26 08:36:23,751 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,751 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:23,751 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:23,752 [254] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (1): s3.openshift-storage.svc.cluster.local:443 gunicorn-registry stdout | 2025-09-26 08:36:23,753 [257] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/boto3/data/s3/2006-03-01/resources-1.json gunicorn-registry stdout | 2025-09-26 08:36:23,754 [250] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,754 [250] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler ._handler at 0x7fc5109ceb60> gunicorn-registry stdout | 2025-09-26 08:36:23,754 [250] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,755 [257] [DEBUG] [botocore.hooks] Event choose-service-name: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,756 [250] [DEBUG] [botocore.endpoint] Setting s3 timeout as (60, 60) gunicorn-registry stdout | 2025-09-26 08:36:23,757 [253] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/s3/2006-03-01/endpoint-rule-set-1.json gunicorn-registry stdout | 2025-09-26 08:36:23,759 [250] [DEBUG] [botocore.client] Registering retry handlers for service: s3 gunicorn-registry stdout | 2025-09-26 08:36:23,759 [250] [DEBUG] [botocore.utils] Registering S3 region redirector handler gunicorn-registry stdout | 2025-09-26 08:36:23,760 [250] [DEBUG] [boto3.resources.factory] Loading s3:s3 gunicorn-registry stdout | 2025-09-26 08:36:23,761 [250] [DEBUG] [boto3.resources.factory] Loading s3:Bucket gunicorn-registry stdout | 2025-09-26 08:36:23,762 [250] [DEBUG] [boto3.resources.model] Renaming Bucket attribute name gunicorn-registry stdout | 2025-09-26 08:36:23,762 [253] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/partitions.json gunicorn-registry stdout | 2025-09-26 08:36:23,763 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Bucket: calling handler ._handler at 0x7fc5109cee80> gunicorn-registry stdout | 2025-09-26 08:36:23,763 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,763 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,763 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,763 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,765 [253] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,765 [253] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler ._handler at 0x7fc5109ceb60> gunicorn-registry stdout | 2025-09-26 08:36:23,832 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,833 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,833 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:23,833 [257] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,833 [257] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler ._handler at 0x7fc5109ceb60> gunicorn-registry stdout | 2025-09-26 08:36:23,833 [257] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,835 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:23,835 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:23,835 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:23,835 [257] [DEBUG] [botocore.endpoint] Setting s3 timeout as (60, 60) gunicorn-registry stdout | 2025-09-26 08:36:23,836 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,836 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,836 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,836 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadBucket) with params: {'url_path': '', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:23,836 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,836 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,837 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,837 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,837 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:23,837 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083623Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:23,837 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083623Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 56f49b6dc09aa053059b4f203f31900ae16474e7b5c807742dcda9843cde70d6 gunicorn-registry stdout | 2025-09-26 08:36:23,837 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6e933e84cea0686da6deff6bdbf981b23f6be4735b8c11ef1a2bfef9a8457046 gunicorn-registry stdout | 2025-09-26 08:36:23,838 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,838 [257] [DEBUG] [botocore.client] Registering retry handlers for service: s3 gunicorn-registry stdout | 2025-09-26 08:36:23,838 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:23,838 [257] [DEBUG] [botocore.utils] Registering S3 region redirector handler gunicorn-registry stdout | 2025-09-26 08:36:23,839 [257] [DEBUG] [boto3.resources.factory] Loading s3:s3 gunicorn-registry stdout | 2025-09-26 08:36:23,839 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:23,840 [257] [DEBUG] [boto3.resources.factory] Loading s3:Bucket gunicorn-registry stdout | 2025-09-26 08:36:23,840 [250] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (1): s3.openshift-storage.svc.cluster.local:443 gunicorn-registry stdout | 2025-09-26 08:36:23,841 [257] [DEBUG] [boto3.resources.model] Renaming Bucket attribute name gunicorn-registry stdout | 2025-09-26 08:36:23,841 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Bucket: calling handler ._handler at 0x7fc5109cee80> gunicorn-registry stdout | 2025-09-26 08:36:23,843 [256] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,843 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,843 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,843 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,843 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,843 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,843 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,843 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:23,845 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:23,845 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:23,845 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:23,845 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,846 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,846 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,846 [256] [DEBUG] [botocore.endpoint] Setting s3 timeout as (60, 60) gunicorn-registry stdout | 2025-09-26 08:36:23,846 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadBucket) with params: {'url_path': '', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:23,846 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,846 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,846 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,847 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,847 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:23,847 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083623Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:23,847 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083623Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 56f49b6dc09aa053059b4f203f31900ae16474e7b5c807742dcda9843cde70d6 gunicorn-registry stdout | 2025-09-26 08:36:23,847 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6e933e84cea0686da6deff6bdbf981b23f6be4735b8c11ef1a2bfef9a8457046 gunicorn-registry stdout | 2025-09-26 08:36:23,847 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,848 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:23,849 [256] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/_retry.json gunicorn-registry stdout | 2025-09-26 08:36:23,850 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:23,850 [256] [DEBUG] [botocore.client] Registering retry handlers for service: s3 gunicorn-registry stdout | 2025-09-26 08:36:23,850 [257] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (1): s3.openshift-storage.svc.cluster.local:443 gunicorn-registry stdout | 2025-09-26 08:36:23,851 [256] [DEBUG] [botocore.utils] Registering S3 region redirector handler gunicorn-registry stdout | 2025-09-26 08:36:23,856 [255] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/s3/2006-03-01/endpoint-rule-set-1.json gunicorn-registry stdout | 2025-09-26 08:36:23,862 [255] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/partitions.json gunicorn-registry stdout | 2025-09-26 08:36:23,865 [255] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,865 [255] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler ._handler at 0x7fc5109ceb60> gunicorn-registry stdout | 2025-09-26 08:36:23,933 [256] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/boto3/data/s3/2006-03-01/resources-1.json gunicorn-registry stdout | 2025-09-26 08:36:23,933 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:23,934 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l88mi-afavv-loh', 'x-amz-id-2': 'mg0l88mi-afavv-loh', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:23 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:23,934 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa0068d65087d73ec60008f93292' gunicorn-registry stdout | 2025-09-26 08:36:23,934 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,934 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:23,934 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,934 [254] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l88mi-afavv-loh', 'HostId': 'mg0l88mi-afavv-loh', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l88mi-afavv-loh', 'x-amz-id-2': 'mg0l88mi-afavv-loh', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:23 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00', 'UploadId': '68d65087d73ec60008f93292'} gunicorn-registry stdout | 2025-09-26 08:36:23,935 [254] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:23,935 [256] [DEBUG] [botocore.hooks] Event choose-service-name: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,936 [254] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:23,936 [254] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:23,936 [254] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00', 'UploadId': '68d65087d73ec60008f93292', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc1a5c0>, 'ContentLength': 600} gunicorn-registry stdout | 2025-09-26 08:36:23,937 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,937 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,937 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,937 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,937 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,937 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,937 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,937 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,937 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:23,937 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:23,937 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:23,937 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:23,938 [254] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,938 [254] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,938 [254] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:23,938 [254] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,938 [254] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,938 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00', 'query_string': {'uploadId': '68d65087d73ec60008f93292', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '600', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': '2vfDRuzNnsqlaHbH5DB9TA==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc1a5c0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00?uploadId=68d65087d73ec60008f93292&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00', 'UploadId': '68d65087d73ec60008f93292', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc1a5c0>, 'ContentLength': 600}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:23,938 [254] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,938 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,938 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,938 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,939 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:23,939 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00 gunicorn-registry stdout | partNumber=1&uploadId=68d65087d73ec60008f93292 gunicorn-registry stdout | content-length:600 gunicorn-registry stdout | content-md5:2vfDRuzNnsqlaHbH5DB9TA== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083623Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:23,939 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083623Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 352fbc498eab0b7fb5bcef4f9581deb7d2f087745517f8c8931873d51e3f3660 gunicorn-registry stdout | 2025-09-26 08:36:23,939 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 9b1ab854c297a13cd9b84e9d837682388e4670b4be6cea9d81e3eeb66f170cc2 gunicorn-registry stdout | 2025-09-26 08:36:23,939 [254] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,939 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:23,940 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:23,940 [256] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,940 [256] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler ._handler at 0x7fc5109ceb60> gunicorn-registry stdout | 2025-09-26 08:36:23,940 [256] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,941 [254] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:23,942 [256] [DEBUG] [botocore.endpoint] Setting s3 timeout as (60, 60) gunicorn-registry stdout | 2025-09-26 08:36:23,943 [254] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:36:23,944 [256] [DEBUG] [botocore.client] Registering retry handlers for service: s3 gunicorn-registry stdout | 2025-09-26 08:36:23,945 [256] [DEBUG] [botocore.utils] Registering S3 region redirector handler gunicorn-registry stdout | 2025-09-26 08:36:23,945 [256] [DEBUG] [boto3.resources.factory] Loading s3:s3 gunicorn-registry stdout | 2025-09-26 08:36:23,947 [256] [DEBUG] [boto3.resources.factory] Loading s3:Bucket gunicorn-registry stdout | 2025-09-26 08:36:23,947 [256] [DEBUG] [boto3.resources.model] Renaming Bucket attribute name gunicorn-registry stdout | 2025-09-26 08:36:23,948 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Bucket: calling handler ._handler at 0x7fc5109cee80> gunicorn-registry stdout | 2025-09-26 08:36:23,949 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,949 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,949 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,949 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,949 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,950 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,950 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:23,951 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:23,951 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:23,951 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:23,952 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,952 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,952 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,952 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadBucket) with params: {'url_path': '', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:23,952 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,953 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,953 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,953 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,953 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:23,953 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083623Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:23,953 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083623Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 56f49b6dc09aa053059b4f203f31900ae16474e7b5c807742dcda9843cde70d6 gunicorn-registry stdout | 2025-09-26 08:36:23,954 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6e933e84cea0686da6deff6bdbf981b23f6be4735b8c11ef1a2bfef9a8457046 gunicorn-registry stdout | 2025-09-26 08:36:23,954 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,954 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:23,955 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:23,956 [256] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (1): s3.openshift-storage.svc.cluster.local:443 gunicorn-registry stdout | 2025-09-26 08:36:23,957 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:23,957 [253] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,958 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l88pa-1xwy7j-zga', 'x-amz-id-2': 'mg0l88pa-1xwy7j-zga', 'Date': 'Fri, 26 Sep 2025 08:36:23 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:23,958 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:23,959 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,959 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:23,959 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,960 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,961 [253] [DEBUG] [botocore.endpoint] Setting s3 timeout as (60, 60) gunicorn-registry stdout | 2025-09-26 08:36:23,964 [253] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/_retry.json gunicorn-registry stdout | 2025-09-26 08:36:23,964 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "imagestoragelocation" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:23,964 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:23,964 [253] [DEBUG] [botocore.client] Registering retry handlers for service: s3 gunicorn-registry stdout | 2025-09-26 08:36:23,964 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l88pf-215uaq-3cz', 'x-amz-id-2': 'mg0l88pf-215uaq-3cz', 'Date': 'Fri, 26 Sep 2025 08:36:23 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:23,965 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:23,965 [253] [DEBUG] [botocore.utils] Registering S3 region redirector handler gunicorn-registry stdout | 2025-09-26 08:36:23,965 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:23,965 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:23,965 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:23,966 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:23,969 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [1, '6aa4c28a-9d56-44d0-93ac-4498d460c199', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 23, 968164)]) gunicorn-registry stdout | 2025-09-26 08:36:23,970 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "imagestoragelocation" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:23,974 [257] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [1, 'cdb8b9b4-365a-4b8d-bb06-b1f544fc0fc5', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 23, 974246)]) gunicorn-registry stdout | 2025-09-26 08:36:23,974 [250] [DEBUG] [app] Ending request: urn:request:dae52999-3cce-4083-b6eb-1fa8ac0fbada (/v2/quayorg/quayrepo/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:dae52999-3cce-4083-b6eb-1fa8ac0fbada', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/uploads/', 'path': '/v2/quayorg/quayrepo/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:23,975 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:23,975 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:23,975 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:23 +0000] "POST /v2/quayorg/quayrepo/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:23 +0000] "POST /v2/quayorg/quayrepo/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.628 1701 0.628) gunicorn-registry stdout | 2025-09-26 08:36:24,036 [252] [DEBUG] [app] Starting request: urn:request:a3c1b0f1-e2c4-4ef2-9724-4bc94b15c016 (/v2/quayorg/quayrepo/blobs/uploads/6aa4c28a-9d56-44d0-93ac-4498d460c199) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:24,036 [252] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '6aa4c28a-9d56-44d0-93ac-4498d460c199', 'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:24,037 [252] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:24,037 [252] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:24,037 [253] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/boto3/data/s3/2006-03-01/resources-1.json gunicorn-registry stdout | 2025-09-26 08:36:24,039 [253] [DEBUG] [botocore.hooks] Event choose-service-name: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,039 [257] [DEBUG] [app] Ending request: urn:request:6c7d387b-4678-4d09-bb3b-f38c2d8411af (/v2/quayorg/quayrepo/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:6c7d387b-4678-4d09-bb3b-f38c2d8411af', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/uploads/', 'path': '/v2/quayorg/quayrepo/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:24,039 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:24,039 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:24,040 [252] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."kid", "t1"."service", "t1"."jwk", "t1"."metadata", "t1"."created_date", "t1"."expiration_date", "t1"."rotation_duration", "t1"."approval_id" FROM "servicekey" AS "t1" LEFT OUTER JOIN "servicekeyapproval" AS "t2" ON ("t1"."approval_id" = "t2"."id") WHERE ((((NOT ("t1"."approval_id" IS %s) AND (("t1"."expiration_date" > %s) OR ("t1"."expiration_date" IS %s))) AND ("t1"."service" = %s)) AND (NOT (("t1"."service" = %s) AND ("t1"."expiration_date" <= %s)) OR NOT ((("t1"."service" = %s) AND ("t1"."approval_id" IS %s)) AND ("t1"."created_date" <= %s)))) AND (NOT ("t1"."expiration_date" <= %s) OR ("t1"."expiration_date" IS %s)))', [None, datetime.datetime(2025, 9, 26, 8, 36, 24, 38223), None, 'quay', 'quay', datetime.datetime(2025, 9, 26, 8, 36, 24, 38266), 'quay', None, datetime.datetime(2025, 9, 25, 8, 36, 24, 38299), datetime.datetime(2025, 9, 19, 8, 36, 24, 38324), None]) gunicorn-registry stdout | 2025-09-26 08:36:24,040 [252] [DEBUG] [peewee.pool] No connection available in pool. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:24 +0000] "POST /v2/quayorg/quayrepo/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.687 1701 0.687) gunicorn-registry stdout | 2025-09-26 08:36:24,040 [253] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,040 [253] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler ._handler at 0x7fc5109ceb60> gunicorn-registry stdout | 2025-09-26 08:36:24,040 [253] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,040 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:24 +0000] "POST /v2/quayorg/quayrepo/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:36:24,045 [253] [DEBUG] [botocore.endpoint] Setting s3 timeout as (60, 60) gunicorn-registry stdout | 2025-09-26 08:36:24,048 [253] [DEBUG] [botocore.client] Registering retry handlers for service: s3 gunicorn-registry stdout | 2025-09-26 08:36:24,049 [253] [DEBUG] [botocore.utils] Registering S3 region redirector handler gunicorn-registry stdout | 2025-09-26 08:36:24,049 [253] [DEBUG] [boto3.resources.factory] Loading s3:s3 gunicorn-registry stdout | 2025-09-26 08:36:24,051 [253] [DEBUG] [boto3.resources.factory] Loading s3:Bucket gunicorn-registry stdout | 2025-09-26 08:36:24,051 [253] [DEBUG] [boto3.resources.model] Renaming Bucket attribute name gunicorn-registry stdout | 2025-09-26 08:36:24,052 [253] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Bucket: calling handler ._handler at 0x7fc5109cee80> gunicorn-registry stdout | 2025-09-26 08:36:24,052 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,053 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,053 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,053 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,053 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,053 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,053 [253] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:24,054 [253] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:24,054 [253] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:24,054 [253] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:24,054 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:24,055 [253] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,055 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l88rz-3ju3y5-10ir', 'x-amz-id-2': 'mg0l88rz-3ju3y5-10ir', 'Date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:24,055 [253] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,055 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:24,055 [253] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,055 [253] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadBucket) with params: {'url_path': '', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gcworker stdout | 2025-09-26 08:36:24,055 [57] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'gcworker.py', 'pid': '57'} gunicorn-registry stdout | 2025-09-26 08:36:24,055 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,055 [253] [DEBUG] [botocore.hooks] Event request-created.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,055 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:24,055 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,056 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,056 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,056 [253] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,056 [253] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:24,056 [253] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083624Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:24,056 [253] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083624Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 118e63e1ca6cb9920e8c54b403c80d74be7a7a0b946ed08da12b7d63a245ca0a gunicorn-registry stdout | 2025-09-26 08:36:24,056 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,056 [253] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b171299c277d7c4451393e1ab39bf9092df421bb69eea5ca84f73bf0492cdb84 gunicorn-registry stdout | 2025-09-26 08:36:24,056 [253] [DEBUG] [botocore.hooks] Event request-created.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,057 [255] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,057 [253] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:24,058 [253] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:24,058 [253] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (1): s3.openshift-storage.svc.cluster.local:443 gunicorn-registry stdout | 2025-09-26 08:36:24,060 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "imagestoragelocation" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:24,061 [255] [DEBUG] [botocore.endpoint] Setting s3 timeout as (60, 60) gunicorn-registry stdout | 2025-09-26 08:36:24,049 [252] [DEBUG] [peewee.pool] Created new connection 140484341653056. gunicorn-registry stdout | 2025-09-26 08:36:24,063 [255] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/_retry.json gunicorn-registry stdout | 2025-09-26 08:36:24,064 [255] [DEBUG] [botocore.client] Registering retry handlers for service: s3 gunicorn-registry stdout | 2025-09-26 08:36:24,064 [256] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [1, '876a2cca-e07c-4278-b358-e47364ef6567', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 24, 63790)]) gunicorn-registry stdout | 2025-09-26 08:36:24,064 [255] [DEBUG] [botocore.utils] Registering S3 region redirector handler gunicorn-registry stdout | 2025-09-26 08:36:24,070 [252] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:24,070 [252] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:24,070 [252] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:24,070 [252] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:24,070 [252] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:24,070 [256] [DEBUG] [app] Ending request: urn:request:d5482d64-a253-49b7-b946-2107e64e5c18 (/v2/quayorg/quayrepo/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:d5482d64-a253-49b7-b946-2107e64e5c18', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/uploads/', 'path': '/v2/quayorg/quayrepo/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:24,071 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:24,071 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:24,071 [256] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:24 +0000] "POST /v2/quayorg/quayrepo/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:24 +0000] "POST /v2/quayorg/quayrepo/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.692 1701 0.692) gunicorn-registry stdout | 2025-09-26 08:36:24,072 [252] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,077 [255] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/boto3/data/s3/2006-03-01/resources-1.json gunicorn-registry stdout | 2025-09-26 08:36:24,078 [252] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,078 [255] [DEBUG] [botocore.hooks] Event choose-service-name: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,079 [255] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,079 [255] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler ._handler at 0x7fc5109ceb60> gunicorn-registry stdout | 2025-09-26 08:36:24,079 [255] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,081 [252] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,082 [255] [DEBUG] [botocore.endpoint] Setting s3 timeout as (60, 60) gunicorn-registry stdout | 2025-09-26 08:36:24,084 [255] [DEBUG] [botocore.client] Registering retry handlers for service: s3 gunicorn-registry stdout | 2025-09-26 08:36:24,084 [255] [DEBUG] [botocore.utils] Registering S3 region redirector handler gunicorn-registry stdout | 2025-09-26 08:36:24,085 [255] [DEBUG] [boto3.resources.factory] Loading s3:s3 gunicorn-registry stdout | 2025-09-26 08:36:24,112 [254] [DEBUG] [app] Starting request: urn:request:1a3b579c-9ee0-4636-a527-ac47606d4035 (/v2/quayorg/quayrepo/blobs/uploads/876a2cca-e07c-4278-b358-e47364ef6567) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:24,133 [253] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:24,133 [253] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l88t2-477jyg-9vr', 'x-amz-id-2': 'mg0l88t2-477jyg-9vr', 'Date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:24,133 [253] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:24,134 [255] [DEBUG] [boto3.resources.factory] Loading s3:Bucket gunicorn-registry stdout | 2025-09-26 08:36:24,134 [252] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:24,134 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,134 [255] [DEBUG] [boto3.resources.model] Renaming Bucket attribute name gunicorn-registry stdout | 2025-09-26 08:36:24,134 [253] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:24,134 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,134 [253] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:24,135 [255] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Bucket: calling handler ._handler at 0x7fc5109cee80> gunicorn-registry stdout | 2025-09-26 08:36:24,135 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,135 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,135 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,135 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,135 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,135 [253] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:24,135 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,136 [253] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:24,136 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,136 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,136 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,136 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,136 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:24,136 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,136 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,136 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,112 [254] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '876a2cca-e07c-4278-b358-e47364ef6567', 'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:24,136 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,137 [254] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:24,137 [254] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:24,137 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:24,137 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:24,137 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:24,137 [253] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:24,138 [255] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,138 [255] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,138 [255] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,138 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadBucket) with params: {'url_path': '', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:24,138 [253] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:24,138 [252] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['public', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,138 [253] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:24,138 [253] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:24,138 [255] [DEBUG] [botocore.hooks] Event request-created.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,138 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,138 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,138 [253] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,138 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,138 [253] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,138 [254] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:24,138 [253] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,138 [254] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:24,138 [253] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:24,138 [254] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:24,138 [254] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:24,139 [254] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:24,139 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:24,139 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083624Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:24,139 [253] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,139 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083624Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 118e63e1ca6cb9920e8c54b403c80d74be7a7a0b946ed08da12b7d63a245ca0a gunicorn-registry stdout | 2025-09-26 08:36:24,139 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,139 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,139 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b171299c277d7c4451393e1ab39bf9092df421bb69eea5ca84f73bf0492cdb84 gunicorn-registry stdout | 2025-09-26 08:36:24,139 [255] [DEBUG] [botocore.hooks] Event request-created.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,139 [253] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,139 [253] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:24,139 [253] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083624Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:24,139 [253] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083624Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 2c23190feb7cf8b895f64face0044bd382819a8e17a6e0d407b6b0c66f1a1b72 gunicorn-registry stdout | 2025-09-26 08:36:24,139 [253] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 0e557b2d0aa919339d3676a03aec43c9e9e64b8c80cfde4976ca7f89c6b70531 gunicorn-registry stdout | 2025-09-26 08:36:24,139 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:24,140 [253] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,140 [253] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:24,140 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,140 [253] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:24,140 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:24,141 [253] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (1): s3.openshift-storage.svc.cluster.local:443 gunicorn-registry stdout | 2025-09-26 08:36:24,141 [255] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (1): s3.openshift-storage.svc.cluster.local:443 gunicorn-registry stdout | 2025-09-26 08:36:24,142 [252] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,144 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,146 [252] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,148 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,150 [252] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,151 [254] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,154 [252] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) queuecleanupworker stdout | 2025-09-26 08:36:24,154 [71] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'queuecleanupworker.py', 'pid': '71'} gunicorn-registry stdout | 2025-09-26 08:36:24,155 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,157 [252] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-registry stdout | 2025-09-26 08:36:24,159 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,161 [252] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['6aa4c28a-9d56-44d0-93ac-4498d460c199', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,163 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,166 [252] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:24,166 [252] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:24,167 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-registry stdout | 2025-09-26 08:36:24,168 [252] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/endpoints.json gunicorn-registry stdout | 2025-09-26 08:36:24,171 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['876a2cca-e07c-4278-b358-e47364ef6567', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,175 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:24,175 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:24,175 [254] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:24,176 [254] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:24,177 [254] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:24,177 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,177 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,177 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,177 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,177 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,177 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,177 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,177 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,177 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:24,177 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:24,177 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:24,177 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:24,178 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,178 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,178 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,178 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:24,178 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,178 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,178 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,178 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,178 [253] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:24,178 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:24,178 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083624Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:24,178 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083624Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 476edb38db3de5cb786368dd0e89eb54e2793a783cd63a0a68a33d1f92d3fd37 gunicorn-registry stdout | 2025-09-26 08:36:24,178 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | db90f0f9a01cac8af13f7f2bee3a88d20e29ae6c8d61d7d48f0c5ef6d98a2cb0 gunicorn-registry stdout | 2025-09-26 08:36:24,178 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,179 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:24,179 [253] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l88vh-5mv9yh-zhs', 'x-amz-id-2': 'mg0l88vh-5mv9yh-zhs', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:24,179 [253] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe068d65088d73ec60008f93298' gunicorn-registry stdout | 2025-09-26 08:36:24,179 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:24,179 [254] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (2): s3.openshift-storage.svc.cluster.local:443 gunicorn-registry stdout | 2025-09-26 08:36:24,179 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,179 [253] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:24,179 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,180 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00?uploadId=68d65087d73ec60008f93292&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:24,180 [253] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l88vh-5mv9yh-zhs', 'HostId': 'mg0l88vh-5mv9yh-zhs', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l88vh-5mv9yh-zhs', 'x-amz-id-2': 'mg0l88vh-5mv9yh-zhs', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'UploadId': '68d65088d73ec60008f93298'} gunicorn-registry stdout | 2025-09-26 08:36:24,180 [253] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:24,180 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l88p2-1szmal-12km', 'x-amz-id-2': 'mg0l88p2-1szmal-12km', 'ETag': '"daf7c346eccd9ecaa56876c7e4307d4c"', 'Date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:24,180 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:24,180 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:24,180 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,181 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:24,181 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,181 [254] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l88p2-1szmal-12km', 'HostId': 'mg0l88p2-1szmal-12km', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l88p2-1szmal-12km', 'x-amz-id-2': 'mg0l88p2-1szmal-12km', 'etag': '"daf7c346eccd9ecaa56876c7e4307d4c"', 'date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"daf7c346eccd9ecaa56876c7e4307d4c"'} gunicorn-registry stdout | 2025-09-26 08:36:24,181 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l88vf-5lt73c-nbg', 'x-amz-id-2': 'mg0l88vf-5lt73c-nbg', 'Date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:24,181 [254] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00', 'UploadId': '68d65087d73ec60008f93292', 'MultipartUpload': {'Parts': [{'ETag': '"daf7c346eccd9ecaa56876c7e4307d4c"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:36:24,181 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:24,181 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,182 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,182 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,182 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,182 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,182 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,182 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:24,182 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,182 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,182 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,182 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:24,182 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:24,182 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:24,182 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:24,183 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,183 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,183 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,183 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,183 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00', 'query_string': {'uploadId': '68d65087d73ec60008f93292'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"daf7c346eccd9ecaa56876c7e4307d4c"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00?uploadId=68d65087d73ec60008f93292', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00', 'UploadId': '68d65087d73ec60008f93292', 'MultipartUpload': {'Parts': [{'ETag': '"daf7c346eccd9ecaa56876c7e4307d4c"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:24,184 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,184 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,184 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,184 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,184 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:24,184 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00 gunicorn-registry stdout | uploadId=68d65087d73ec60008f93292 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:06335118e6bc695ea6ba0a045ca2e2e4297a54b51f96012c6051112ab1464f91 gunicorn-registry stdout | x-amz-date:20250926T083624Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 06335118e6bc695ea6ba0a045ca2e2e4297a54b51f96012c6051112ab1464f91 gunicorn-registry stdout | 2025-09-26 08:36:24,184 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083624Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | a6deefe40fb813c72f80a3df430d991c7bc6acaffbecc1df77d2fcf35a83bc2d gunicorn-registry stdout | 2025-09-26 08:36:24,184 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6cf075db4121737762fa0df0c43394ec9950f89399bfcb140739a7401050707f gunicorn-registry stdout | 2025-09-26 08:36:24,184 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,184 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:24,185 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:24,186 [252] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/sdk-default-configuration.json gunicorn-registry stdout | 2025-09-26 08:36:24,187 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "imagestoragelocation" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:24,187 [252] [DEBUG] [botocore.hooks] Event choose-service-name: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,234 [255] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [1, 'c6a197c1-ab73-4a77-8ddd-c4bc77422f36', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 24, 233681)]) gunicorn-registry stdout | 2025-09-26 08:36:24,242 [255] [DEBUG] [app] Ending request: urn:request:5a62ce21-5b94-4317-b6e1-0d0aee3c7574 (/v2/quayorg/quayrepo/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:5a62ce21-5b94-4317-b6e1-0d0aee3c7574', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/uploads/', 'path': '/v2/quayorg/quayrepo/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:24,242 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:24,243 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:24,243 [255] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:24 +0000] "POST /v2/quayorg/quayrepo/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:24 +0000] "POST /v2/quayorg/quayrepo/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.814 1701 0.814) gunicorn-registry stdout | 2025-09-26 08:36:24,244 [252] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/s3/2006-03-01/service-2.json gunicorn-registry stdout | 2025-09-26 08:36:24,249 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00?uploadId=68d65087d73ec60008f93292 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:36:24,250 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l88vu-5ucjc4-uxo', 'x-amz-id-2': 'mg0l88vu-5ucjc4-uxo', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:24,250 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00"a23d2cf51f00eb801bb03cd069a60e08-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00?uploadId=68d65087d73ec60008f93292' gunicorn-registry stdout | 2025-09-26 08:36:24,250 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,250 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,250 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:24,250 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,250 [254] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l88vu-5ucjc4-uxo', 'HostId': 'mg0l88vu-5ucjc4-uxo', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l88vu-5ucjc4-uxo', 'x-amz-id-2': 'mg0l88vu-5ucjc4-uxo', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00?uploadId=68d65087d73ec60008f93292', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00', 'ETag': '"a23d2cf51f00eb801bb03cd069a60e08-1"'} gunicorn-registry stdout | 2025-09-26 08:36:24,251 [254] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:24,251 [254] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:24,252 [254] [DEBUG] [data.registry_model.blobuploader] Uploaded 600 bytes to blob ad61bdb4-754a-404b-b962-308e88e0ee5b took 0.5061664581298828 seconds gunicorn-registry stdout | 2025-09-26 08:36:24,252 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['ad61bdb4-754a-404b-b962-308e88e0ee5b', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,256 [254] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [1, 'ad61bdb4-754a-404b-b962-308e88e0ee5b', 600, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwYGLgIAZ+AQAA//8BAAD//ynR9qsAEAAAGQ/bm2R+Eaq6TH4TP2xHajGle+yOpXttCPQE8gJZ75nbKWZiYGJgYhgAAAAAAAAAABIAAAAAAAA04YcGwcwiQkyCRiaII+mHXKBoHFyXApdRfwYxABpsEJRiLg==', 9, '{"chunks": [["uploads/f347c343-a65b-4a6c-9561-f324239ffa00", 0, 600]]}', 1, 4096, datetime.datetime(2025, 9, 26, 8, 36, 23, 571172), None, None, 2]) gunicorn-registry stdout | 2025-09-26 08:36:24,261 [254] [DEBUG] [app] Ending request: urn:request:ad36b6eb-6524-48c9-aeed-e3fd8fa18384 (/v2/quayorg/quayrepo/blobs/uploads/ad61bdb4-754a-404b-b962-308e88e0ee5b) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:ad36b6eb-6524-48c9-aeed-e3fd8fa18384', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/uploads/ad61bdb4-754a-404b-b962-308e88e0ee5b', 'path': '/v2/quayorg/quayrepo/blobs/uploads/ad61bdb4-754a-404b-b962-308e88e0ee5b', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:24,261 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:24,261 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:24,262 [254] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:24 +0000] "PATCH /v2/quayorg/quayrepo/blobs/uploads/ad61bdb4-754a-404b-b962-308e88e0ee5b HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:24 +0000] "PATCH /v2/quayorg/quayrepo/blobs/uploads/ad61bdb4-754a-404b-b962-308e88e0ee5b HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.630 2380 0.629) gunicorn-registry stdout | 2025-09-26 08:36:24,268 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:24,268 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l88y0-74q0lq-baj', 'x-amz-id-2': 'mg0l88y0-74q0lq-baj', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:24,268 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e568d65088d73ec60008f93299' gunicorn-registry stdout | 2025-09-26 08:36:24,268 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,268 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:24,268 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,268 [254] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l88y0-74q0lq-baj', 'HostId': 'mg0l88y0-74q0lq-baj', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l88y0-74q0lq-baj', 'x-amz-id-2': 'mg0l88y0-74q0lq-baj', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5', 'UploadId': '68d65088d73ec60008f93299'} gunicorn-registry stdout | 2025-09-26 08:36:24,269 [254] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:24,269 [254] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:24,269 [254] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:24,270 [254] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5', 'UploadId': '68d65088d73ec60008f93299', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50f3f1080>, 'ContentLength': 147} gunicorn-registry stdout | 2025-09-26 08:36:24,270 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,270 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,270 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,270 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,270 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,270 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,270 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,270 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,270 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:24,270 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:24,271 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:24,271 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:24,271 [254] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,271 [254] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,271 [254] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:24,271 [254] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,271 [254] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,271 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5', 'query_string': {'uploadId': '68d65088d73ec60008f93299', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '147', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': '8QYRjKsq8lC3roUiHwsvtg==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50f3f1080>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5?uploadId=68d65088d73ec60008f93299&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5', 'UploadId': '68d65088d73ec60008f93299', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50f3f1080>, 'ContentLength': 147}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:24,271 [254] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,271 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,271 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,271 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,272 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:24,272 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5 gunicorn-registry stdout | partNumber=1&uploadId=68d65088d73ec60008f93299 gunicorn-registry stdout | content-length:147 gunicorn-registry stdout | content-md5:8QYRjKsq8lC3roUiHwsvtg== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083624Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:24,272 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083624Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 0606e4b9709fe1d411c662df4a16fb1c036bc31cedd3c250a71c8559fff80507 gunicorn-registry stdout | 2025-09-26 08:36:24,272 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | aca6a8580d83c8b08c8aad2f867c6a204f136eb6fc28fd497227ab15e8f8934e gunicorn-registry stdout | 2025-09-26 08:36:24,272 [254] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,272 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:24,272 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:24,273 [254] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:24,274 [254] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:36:24,279 [252] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/s3/2006-03-01/endpoint-rule-set-1.json gunicorn-registry stdout | 2025-09-26 08:36:24,282 [257] [DEBUG] [app] Starting request: urn:request:9b1eaf11-4b7e-451f-9e78-33e1f24848e7 (/v2/quayorg/quayrepo/blobs/uploads/c6a197c1-ab73-4a77-8ddd-c4bc77422f36) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:24,282 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'c6a197c1-ab73-4a77-8ddd-c4bc77422f36', 'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:24,282 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:24,282 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:24,283 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:24,283 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:24,283 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:24,283 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:24,283 [252] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/partitions.json gunicorn-registry stdout | 2025-09-26 08:36:24,284 [257] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:24,284 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,286 [252] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,286 [252] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler ._handler at 0x7fc5109ceb60> gunicorn-registry stdout | 2025-09-26 08:36:24,289 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,293 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,296 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,301 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,303 [250] [DEBUG] [app] Starting request: urn:request:c33b05ba-fc67-41d8-bb1d-46ec8727ce74 (/v2/quayorg/quayrepo/blobs/uploads/ad61bdb4-754a-404b-b962-308e88e0ee5b) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:24,303 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'ad61bdb4-754a-404b-b962-308e88e0ee5b', 'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:24,303 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:24,303 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:24,333 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,334 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:24,334 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:24,334 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:24,334 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:24,334 [250] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:24,335 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,337 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,339 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,341 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-registry stdout | 2025-09-26 08:36:24,343 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,345 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['c6a197c1-ab73-4a77-8ddd-c4bc77422f36', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,347 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,349 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:24,350 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:24,350 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:24,353 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,356 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:24,357 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:24,359 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,359 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,359 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5?uploadId=68d65088d73ec60008f93299&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:24,360 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,360 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,360 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,360 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,360 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,360 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l88ya-7annqu-iuw', 'x-amz-id-2': 'mg0l88ya-7annqu-iuw', 'ETag': '"f106118cab2af250b7ae85221f0b2fb6"', 'Date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:24,360 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:24,360 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,360 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:24,361 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,361 [254] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l88ya-7annqu-iuw', 'HostId': 'mg0l88ya-7annqu-iuw', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l88ya-7annqu-iuw', 'x-amz-id-2': 'mg0l88ya-7annqu-iuw', 'etag': '"f106118cab2af250b7ae85221f0b2fb6"', 'date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"f106118cab2af250b7ae85221f0b2fb6"'} gunicorn-registry stdout | 2025-09-26 08:36:24,361 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,361 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,361 [254] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5', 'UploadId': '68d65088d73ec60008f93299', 'MultipartUpload': {'Parts': [{'ETag': '"f106118cab2af250b7ae85221f0b2fb6"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:36:24,361 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,361 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,361 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,361 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,361 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,361 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:24,361 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,361 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,362 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:24,362 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:24,362 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:24,362 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:24,362 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,362 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,363 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,363 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5', 'query_string': {'uploadId': '68d65088d73ec60008f93299'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"f106118cab2af250b7ae85221f0b2fb6"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5?uploadId=68d65088d73ec60008f93299', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5', 'UploadId': '68d65088d73ec60008f93299', 'MultipartUpload': {'Parts': [{'ETag': '"f106118cab2af250b7ae85221f0b2fb6"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:24,363 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,363 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,363 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,365 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,365 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:24,365 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:24,363 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,365 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:24,366 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:24,366 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5 gunicorn-registry stdout | uploadId=68d65088d73ec60008f93299 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:3902d94f5cd7587a0f45ad7ede5f81d90c7176e6c0ef0af7e6e6b974521b59d4 gunicorn-registry stdout | x-amz-date:20250926T083624Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 3902d94f5cd7587a0f45ad7ede5f81d90c7176e6c0ef0af7e6e6b974521b59d4 gunicorn-registry stdout | 2025-09-26 08:36:24,366 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083624Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 078bc5a5095a96aeb3373f23cad1fe9e3611611fb441cac1249bde1a5aed1989 gunicorn-registry stdout | 2025-09-26 08:36:24,366 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b2e5a5c3ba62d1de6870d47a40f7eada37acb696b5536596494e16925bf36358 gunicorn-registry stdout | 2025-09-26 08:36:24,366 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,366 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,366 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:24,366 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,366 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,366 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:24,367 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:24,367 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,367 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,368 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,368 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,368 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:24,369 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083624Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:24,369 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083624Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 482bb81a88ff5ca6f136732acba97b6f3d750471e246960d2ec513a483194f17 gunicorn-registry stdout | 2025-09-26 08:36:24,370 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 1d69e9b4dbc10eaeb6d6375b127c3acf736134c97e1716305fb4e04997e301c3 gunicorn-registry stdout | 2025-09-26 08:36:24,370 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,370 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:24,370 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-registry stdout | 2025-09-26 08:36:24,371 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:24,371 [257] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (1): s3.openshift-storage.svc.cluster.local:443 gunicorn-registry stdout | 2025-09-26 08:36:24,375 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['ad61bdb4-754a-404b-b962-308e88e0ee5b', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,377 [252] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,379 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:24,379 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:24,379 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:24,381 [252] [DEBUG] [botocore.endpoint] Setting s3 timeout as (60, 60) gunicorn-registry stdout | 2025-09-26 08:36:24,381 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:24,382 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8b04d5f2-afe0-4761-bd9f-2011bd53eeb9', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:24,382 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,383 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,383 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,383 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,383 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,383 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,384 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,384 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,384 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:24,384 [252] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/_retry.json gunicorn-registry stdout | 2025-09-26 08:36:24,385 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:24,385 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:24,385 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:24,385 [252] [DEBUG] [botocore.client] Registering retry handlers for service: s3 gunicorn-registry stdout | 2025-09-26 08:36:24,385 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,385 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,386 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,386 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/8b04d5f2-afe0-4761-bd9f-2011bd53eeb9?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8b04d5f2-afe0-4761-bd9f-2011bd53eeb9', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8b04d5f2-afe0-4761-bd9f-2011bd53eeb9?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8b04d5f2-afe0-4761-bd9f-2011bd53eeb9', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:24,386 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,386 [252] [DEBUG] [botocore.utils] Registering S3 region redirector handler gunicorn-registry stdout | 2025-09-26 08:36:24,386 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,386 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,433 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,433 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:24,433 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8b04d5f2-afe0-4761-bd9f-2011bd53eeb9 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083624Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:24,434 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083624Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 41d26baad2ff900a68b37f637c1a506a6eb6d4b6b24c201156cc230c9ae36afd gunicorn-registry stdout | 2025-09-26 08:36:24,434 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 66ca10bba63069b84a9d762e997c93cb2f17ef4511b290dc688d770eb12f2b95 gunicorn-registry stdout | 2025-09-26 08:36:24,434 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,434 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:24,435 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:24,435 [250] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (1): s3.openshift-storage.svc.cluster.local:443 gunicorn-registry stdout | 2025-09-26 08:36:24,461 [252] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/boto3/data/s3/2006-03-01/resources-1.json gunicorn-registry stdout | 2025-09-26 08:36:24,463 [252] [DEBUG] [botocore.hooks] Event choose-service-name: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,464 [253] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:24,465 [253] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:24,465 [252] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,465 [252] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler ._handler at 0x7fc5109ceb60> gunicorn-registry stdout | 2025-09-26 08:36:24,465 [252] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,466 [253] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'UploadId': '68d65088d73ec60008f93298', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc1a250>, 'ContentLength': 5242880} gunicorn-registry stdout | 2025-09-26 08:36:24,466 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,467 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,467 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,467 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,467 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,467 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,467 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,467 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,467 [253] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:24,467 [253] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:24,467 [253] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:24,467 [253] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:24,468 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,470 [252] [DEBUG] [botocore.endpoint] Setting s3 timeout as (60, 60) gunicorn-registry stdout | 2025-09-26 08:36:24,472 [252] [DEBUG] [botocore.client] Registering retry handlers for service: s3 gunicorn-registry stdout | 2025-09-26 08:36:24,473 [252] [DEBUG] [botocore.utils] Registering S3 region redirector handler gunicorn-registry stdout | 2025-09-26 08:36:24,474 [252] [DEBUG] [boto3.resources.factory] Loading s3:s3 gunicorn-registry stdout | 2025-09-26 08:36:24,475 [252] [DEBUG] [boto3.resources.factory] Loading s3:Bucket gunicorn-registry stdout | 2025-09-26 08:36:24,476 [252] [DEBUG] [boto3.resources.model] Renaming Bucket attribute name gunicorn-registry stdout | 2025-09-26 08:36:24,477 [252] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Bucket: calling handler ._handler at 0x7fc5109cee80> securityscanningnotificationworker stdout | 2025-09-26 08:36:24,476 [88] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityscanningnotificationworker.py', 'pid': '88'} gunicorn-registry stdout | 2025-09-26 08:36:24,477 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,477 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,477 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,477 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,477 [252] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,477 [252] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,478 [252] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:24,478 [252] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:24,478 [252] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:24,478 [252] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:24,479 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,479 [252] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,479 [253] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:24,479 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,479 [252] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,479 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,479 [252] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,479 [252] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadBucket) with params: {'url_path': '', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:24,479 [253] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'query_string': {'uploadId': '68d65088d73ec60008f93298', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '5242880', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'ada9VHL7J1RKs/k7u5imTw==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc1a250>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploadId=68d65088d73ec60008f93298&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'UploadId': '68d65088d73ec60008f93298', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc1a250>, 'ContentLength': 5242880}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:24,479 [253] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,480 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,480 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,480 [252] [DEBUG] [botocore.hooks] Event request-created.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,480 [253] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,480 [252] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,480 [253] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:24,480 [252] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,480 [253] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0 gunicorn-registry stdout | partNumber=1&uploadId=68d65088d73ec60008f93298 gunicorn-registry stdout | content-length:5242880 gunicorn-registry stdout | content-md5:ada9VHL7J1RKs/k7u5imTw== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083624Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:24,480 [253] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083624Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | f34428abcfb24f4f85706a037892415165526411df3c99ac415d7bfc66a8c0bf gunicorn-registry stdout | 2025-09-26 08:36:24,480 [253] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 7560d0907b4426bb96fa349d2e7db15ec3ee114db75551d1a7118755d130e236 gunicorn-registry stdout | 2025-09-26 08:36:24,480 [252] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,480 [253] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,480 [253] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:24,481 [252] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:24,481 [252] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083624Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:24,481 [252] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083624Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 118e63e1ca6cb9920e8c54b403c80d74be7a7a0b946ed08da12b7d63a245ca0a gunicorn-registry stdout | 2025-09-26 08:36:24,481 [252] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b171299c277d7c4451393e1ab39bf9092df421bb69eea5ca84f73bf0492cdb84 gunicorn-registry stdout | 2025-09-26 08:36:24,481 [252] [DEBUG] [botocore.hooks] Event request-created.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,481 [253] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:24,481 [252] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:24,482 [253] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:24,482 [252] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:24,483 [252] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (1): s3.openshift-storage.svc.cluster.local:443 gunicorn-registry stdout | 2025-09-26 08:36:24,539 [253] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:36:24,548 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:24,549 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l893o-ai6dvc-v6b', 'x-amz-id-2': 'mg0l893o-ai6dvc-v6b', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:24,549 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b668d65088d73ec60008f932a1' gunicorn-registry stdout | 2025-09-26 08:36:24,549 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,550 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:24,550 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,550 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l893o-ai6dvc-v6b', 'HostId': 'mg0l893o-ai6dvc-v6b', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l893o-ai6dvc-v6b', 'x-amz-id-2': 'mg0l893o-ai6dvc-v6b', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6', 'UploadId': '68d65088d73ec60008f932a1'} gunicorn-registry stdout | 2025-09-26 08:36:24,550 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:24,551 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5?uploadId=68d65088d73ec60008f93299 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:36:24,551 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l890x-8vfvj8-13qf', 'x-amz-id-2': 'mg0l890x-8vfvj8-13qf', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:24,551 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5"018251fc92574b91bd5da175134e46e8-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5?uploadId=68d65088d73ec60008f93299' gunicorn-registry stdout | 2025-09-26 08:36:24,552 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,552 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:24,552 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,552 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:24,552 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,552 [254] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l890x-8vfvj8-13qf', 'HostId': 'mg0l890x-8vfvj8-13qf', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l890x-8vfvj8-13qf', 'x-amz-id-2': 'mg0l890x-8vfvj8-13qf', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5?uploadId=68d65088d73ec60008f93299', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5', 'ETag': '"018251fc92574b91bd5da175134e46e8-1"'} gunicorn-registry stdout | 2025-09-26 08:36:24,552 [257] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:24,552 [254] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:24,552 [257] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6', 'UploadId': '68d65088d73ec60008f932a1', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc1ef20>, 'ContentLength': 2994} gunicorn-registry stdout | 2025-09-26 08:36:24,553 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,553 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,553 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,553 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,553 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,553 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,553 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,553 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,553 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:24,553 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:24,553 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:24,553 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:24,554 [254] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:24,554 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,554 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,554 [254] [DEBUG] [data.registry_model.blobuploader] Uploaded 147 bytes to blob 876a2cca-e07c-4278-b358-e47364ef6567 took 0.378861665725708 seconds gunicorn-registry stdout | 2025-09-26 08:36:24,554 [257] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:24,554 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,554 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,554 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6', 'query_string': {'uploadId': '68d65088d73ec60008f932a1', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '2994', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'styUebJ5ztGAZ3EMKZxb+A==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc1ef20>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6?uploadId=68d65088d73ec60008f932a1&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6', 'UploadId': '68d65088d73ec60008f932a1', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc1ef20>, 'ContentLength': 2994}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:24,554 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,554 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,555 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,555 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,555 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:24,555 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6 gunicorn-registry stdout | partNumber=1&uploadId=68d65088d73ec60008f932a1 gunicorn-registry stdout | content-length:2994 gunicorn-registry stdout | content-md5:styUebJ5ztGAZ3EMKZxb+A== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083624Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:24,555 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083624Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | b4c7ef8b788ab4e69695a483a4b346701b5b7035b158792b39863490e4301753 gunicorn-registry stdout | 2025-09-26 08:36:24,555 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ad2168a948eceaf435b560cc62d18ec8f4b4491298431e712ea5e30987693b84 gunicorn-registry stdout | 2025-09-26 08:36:24,555 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,555 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:24,555 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['876a2cca-e07c-4278-b358-e47364ef6567', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,556 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:24,557 [257] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:24,560 [254] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [1, '876a2cca-e07c-4278-b358-e47364ef6567', 147, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwDwAAAP//AQAA//9cMGVfAAgAAPz2r35In4Ok+V/vh7W94+kc0Lvy+OT/ha0GFBVLWH4C8c/9B+ieKyeBSWAQAhMAAAAAAAAAAAQAAAAAAAB2eBlgg33jJiYzgpj1lnRB6bLdGhN+OidPuVqFAudJ8JRiLg==', 9, '{"chunks": [["uploads/290f5d76-2e8e-4946-ac56-6800177cc9e5", 0, 147]]}', 1, 2048, datetime.datetime(2025, 9, 26, 8, 36, 24, 63790), None, None, 5]) gunicorn-registry stdout | 2025-09-26 08:36:24,563 [252] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:24,564 [257] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:36:24,564 [252] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l895x-buhjeb-odi', 'x-amz-id-2': 'mg0l895x-buhjeb-odi', 'Date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:24,564 [252] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:24,565 [254] [DEBUG] [app] Ending request: urn:request:1a3b579c-9ee0-4636-a527-ac47606d4035 (/v2/quayorg/quayrepo/blobs/uploads/876a2cca-e07c-4278-b358-e47364ef6567) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:1a3b579c-9ee0-4636-a527-ac47606d4035', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/uploads/876a2cca-e07c-4278-b358-e47364ef6567', 'path': '/v2/quayorg/quayrepo/blobs/uploads/876a2cca-e07c-4278-b358-e47364ef6567', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:24,565 [252] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadBucket: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,565 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:24,565 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:24,565 [252] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:24,565 [252] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,565 [254] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:24 +0000] "PATCH /v2/quayorg/quayrepo/blobs/uploads/876a2cca-e07c-4278-b358-e47364ef6567 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:36:24,566 [252] [DEBUG] [boto3.resources.factory] Loading s3:Object nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:24 +0000] "PATCH /v2/quayorg/quayrepo/blobs/uploads/876a2cca-e07c-4278-b358-e47364ef6567 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.455 1927 0.454) gunicorn-registry stdout | 2025-09-26 08:36:24,567 [252] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:24,568 [252] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:24,568 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,568 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,568 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,568 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,568 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,568 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,569 [252] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,569 [252] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,569 [252] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:24,570 [252] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:24,570 [252] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:24,570 [252] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:24,570 [252] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,571 [252] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,571 [252] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,571 [252] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:24,571 [252] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,571 [252] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,571 [252] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,572 [252] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,572 [252] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:24,572 [252] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083624Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:24,572 [252] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083624Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | cc8da5bd53e91197461e29f09726385ee2e49eebf1f26b511d5ae0781160aa88 gunicorn-registry stdout | 2025-09-26 08:36:24,572 [252] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | fe4b8339040b1ef15819b818d2cc220b5705d5dc029f531a3f9a99f216aa91b1 gunicorn-registry stdout | 2025-09-26 08:36:24,572 [252] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,573 [252] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:24,574 [252] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:24,575 [252] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (1): s3.openshift-storage.svc.cluster.local:443 gunicorn-registry stdout | 2025-09-26 08:36:24,649 [252] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:24,650 [252] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l898h-ddl70p-owd', 'x-amz-id-2': 'mg0l898h-ddl70p-owd', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:24,650 [252] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f6488768d65088d73ec60008f932a6' gunicorn-registry stdout | 2025-09-26 08:36:24,650 [252] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,651 [252] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:24,651 [252] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,651 [252] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l898h-ddl70p-owd', 'HostId': 'mg0l898h-ddl70p-owd', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l898h-ddl70p-owd', 'x-amz-id-2': 'mg0l898h-ddl70p-owd', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'UploadId': '68d65088d73ec60008f932a6'} gunicorn-registry stdout | 2025-09-26 08:36:24,651 [252] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:24,653 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8b04d5f2-afe0-4761-bd9f-2011bd53eeb9?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:24,653 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l895r-bqtapi-19vs', 'x-amz-id-2': 'mg0l895r-bqtapi-19vs', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:24,653 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/8b04d5f2-afe0-4761-bd9f-2011bd53eeb968d65088d73ec60008f932a2' gunicorn-registry stdout | 2025-09-26 08:36:24,654 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,654 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:24,654 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,654 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l895r-bqtapi-19vs', 'HostId': 'mg0l895r-bqtapi-19vs', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l895r-bqtapi-19vs', 'x-amz-id-2': 'mg0l895r-bqtapi-19vs', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8b04d5f2-afe0-4761-bd9f-2011bd53eeb9', 'UploadId': '68d65088d73ec60008f932a2'} gunicorn-registry stdout | 2025-09-26 08:36:24,654 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:24,655 [250] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8b04d5f2-afe0-4761-bd9f-2011bd53eeb9', 'UploadId': '68d65088d73ec60008f932a2'} gunicorn-registry stdout | 2025-09-26 08:36:24,655 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,655 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,656 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,656 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,656 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,656 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,656 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:24,656 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:24,656 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:24,656 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:24,656 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,656 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,657 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,657 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/8b04d5f2-afe0-4761-bd9f-2011bd53eeb9', 'query_string': {'uploadId': '68d65088d73ec60008f932a2'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8b04d5f2-afe0-4761-bd9f-2011bd53eeb9', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8b04d5f2-afe0-4761-bd9f-2011bd53eeb9?uploadId=68d65088d73ec60008f932a2', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8b04d5f2-afe0-4761-bd9f-2011bd53eeb9', 'UploadId': '68d65088d73ec60008f932a2'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:24,657 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,657 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,657 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,657 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,657 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:24,657 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8b04d5f2-afe0-4761-bd9f-2011bd53eeb9 gunicorn-registry stdout | uploadId=68d65088d73ec60008f932a2 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083624Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:24,657 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083624Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | c533f75b877fd074383d2679f62050d191a1381ae6b6e1eb8924dfc5acf22979 gunicorn-registry stdout | 2025-09-26 08:36:24,658 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 36beffc7b0731573df0a429f811d160c9a2e3e94b9f64833cc0de195580391d0 gunicorn-registry stdout | 2025-09-26 08:36:24,658 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,658 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:24,658 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:24,666 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8b04d5f2-afe0-4761-bd9f-2011bd53eeb9?uploadId=68d65088d73ec60008f932a2 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:24,667 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8990-dol58f-109l', 'x-amz-id-2': 'mg0l8990-dol58f-109l', 'Date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:24,667 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:24,667 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,667 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:24,667 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,667 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8990-dol58f-109l', 'HostId': 'mg0l8990-dol58f-109l', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8990-dol58f-109l', 'x-amz-id-2': 'mg0l8990-dol58f-109l', 'date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:24,667 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob ad61bdb4-754a-404b-b962-308e88e0ee5b took 0.2883923053741455 seconds gunicorn-registry stdout | 2025-09-26 08:36:24,668 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['ad61bdb4-754a-404b-b962-308e88e0ee5b', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:24,673 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [1, 'ad61bdb4-754a-404b-b962-308e88e0ee5b', 600, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwYGLgIAZ+AQAA//8BAAD//ynR9qsAEAAAGQ/bm2R+Eaq6TH4TP2xHajGle+yOpXttCPQE8gJZ75nbKWZiYGJgYhgAAAAAAAAAABIAAAAAAAA04YcGwcwiQkyCRiaII+mHXKBoHFyXApdRfwYxABpsEJRiLg==', 9, '{"chunks": [["uploads/f347c343-a65b-4a6c-9561-f324239ffa00", 0, 600]]}', 2, 4096, datetime.datetime(2025, 9, 26, 8, 36, 23, 571172), None, None, 2]) gunicorn-registry stdout | 2025-09-26 08:36:24,678 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:24,678 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:24,678 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:24,679 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:24,679 [250] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160'} gunicorn-registry stdout | 2025-09-26 08:36:24,679 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,679 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,679 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,679 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,679 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,680 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,680 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,680 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:24,680 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:24,680 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:24,680 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:24,680 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,680 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,680 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,680 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:24,681 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,681 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,681 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,681 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,681 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:24,681 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083624Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:24,681 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083624Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 059dd76156cdb5de6d933033cbb3c8e932f03967a5dee107e23ccb25453794cc gunicorn-registry stdout | 2025-09-26 08:36:24,681 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 0723e435881d1ec79bf602b3b1a71dbe0a49e85e821d4880d0cd769180b684b7 gunicorn-registry stdout | 2025-09-26 08:36:24,682 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,682 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:24,682 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem chunkcleanupworker stdout | 2025-09-26 08:36:24,765 [53] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'chunkcleanupworker.py', 'pid': '53'} gunicorn-registry stdout | 2025-09-26 08:36:24,817 [252] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:24,817 [252] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:24,818 [252] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'UploadId': '68d65088d73ec60008f932a6', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc1a200>, 'ContentLength': 5242880} gunicorn-registry stdout | 2025-09-26 08:36:24,819 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,819 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,819 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,819 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,819 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,819 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,819 [252] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,819 [252] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,819 [252] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:24,819 [252] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:24,819 [252] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:24,819 [252] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:24,819 [252] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,831 [252] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,831 [252] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:24,831 [252] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,831 [252] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,831 [252] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'query_string': {'uploadId': '68d65088d73ec60008f932a6', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '5242880', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'bOJj3o5EtI8bdpY7zvaLEQ==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc1a200>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887?uploadId=68d65088d73ec60008f932a6&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'UploadId': '68d65088d73ec60008f932a6', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc1a200>, 'ContentLength': 5242880}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:24,832 [252] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,832 [252] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,832 [252] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,832 [252] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,832 [252] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:24,832 [252] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887 gunicorn-registry stdout | partNumber=1&uploadId=68d65088d73ec60008f932a6 gunicorn-registry stdout | content-length:5242880 gunicorn-registry stdout | content-md5:bOJj3o5EtI8bdpY7zvaLEQ== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083624Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:24,832 [252] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083624Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | fc739807c8045de690780af208782af259cf926b3aca23d8c28012b649290050 gunicorn-registry stdout | 2025-09-26 08:36:24,832 [252] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | d8200ef6e62ecf98b57e18135fa8dd03ec0fa2aee04a1b8b4d2966e9b666c558 gunicorn-registry stdout | 2025-09-26 08:36:24,832 [252] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,833 [252] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:24,833 [252] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:24,834 [252] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:24,849 [252] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:36:24,852 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:24,853 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89b2-ewrfxs-97b', 'x-amz-id-2': 'mg0l89b2-ewrfxs-97b', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:24,853 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:24,856 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,856 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:24,856 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,857 [250] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:24,857 [250] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:24,857 [250] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160 gunicorn-registry stdout | 2025-09-26 08:36:24,858 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:24,858 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:24,858 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:24,859 [250] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:24,859 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,859 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,859 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,859 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,859 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,860 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,860 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,860 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:24,860 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:24,860 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:24,860 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:24,861 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,861 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,861 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,861 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:24,861 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,862 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,862 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,862 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,862 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,862 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:24,862 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083624Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:24,862 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083624Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 57a06bcbf9521725f4896fac95419b1be1af23e2dd1e6d844224cdaf22e938ed gunicorn-registry stdout | 2025-09-26 08:36:24,862 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 8c0672dfa05b2f26b92993c19278fdd4645c7a72c1bf677869e63553e22b06c2 gunicorn-registry stdout | 2025-09-26 08:36:24,862 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,862 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,862 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:24,863 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:24,942 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:24,943 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89gk-1nmkrt-y6j', 'x-amz-id-2': 'mg0l89gk-1nmkrt-y6j', 'ETag': '"a23d2cf51f00eb801bb03cd069a60e08-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '600', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:24,943 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:24,944 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,944 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:24,944 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,945 [250] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:24,945 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:24,945 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:24,946 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:24,946 [250] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160', 'extra_args': {}, 'callbacks': [], 'size': 600} gunicorn-registry stdout | 2025-09-26 08:36:24,946 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,946 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,947 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,947 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,947 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,947 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,947 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,947 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,947 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,947 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,947 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:24,947 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:24,947 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:24,947 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:24,948 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,948 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,948 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,948 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:24,948 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,948 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,948 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,948 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,949 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,949 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:24,949 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f347c343-a65b-4a6c-9561-f324239ffa00 gunicorn-registry stdout | x-amz-date:20250926T083624Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:24,949 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083624Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 3274f1404d402a053daed4d701436f635230678cf778e48ffa98e05d5df298c8 gunicorn-registry stdout | 2025-09-26 08:36:24,949 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ae2e24eb655b0f75281cb5bc9c2ccb439f6d3a89da84cca6bccf47b9eeac9045 gunicorn-registry stdout | 2025-09-26 08:36:24,949 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,949 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,950 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:24,950 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:24,950 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:24,977 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6?uploadId=68d65088d73ec60008f932a1&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:24,977 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l896b-c37mly-ch2', 'x-amz-id-2': 'mg0l896b-c37mly-ch2', 'ETag': '"b2dc9479b279ced18067710c299c5bf8"', 'Date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:24,977 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:24,978 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,978 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:24,978 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,978 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l896b-c37mly-ch2', 'HostId': 'mg0l896b-c37mly-ch2', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l896b-c37mly-ch2', 'x-amz-id-2': 'mg0l896b-c37mly-ch2', 'etag': '"b2dc9479b279ced18067710c299c5bf8"', 'date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"b2dc9479b279ced18067710c299c5bf8"'} gunicorn-registry stdout | 2025-09-26 08:36:24,978 [257] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6', 'UploadId': '68d65088d73ec60008f932a1', 'MultipartUpload': {'Parts': [{'ETag': '"b2dc9479b279ced18067710c299c5bf8"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:36:24,979 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,979 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,979 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,979 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,979 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,979 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,979 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,980 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:24,980 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:24,980 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:24,980 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:24,981 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,981 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,981 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,981 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6', 'query_string': {'uploadId': '68d65088d73ec60008f932a1'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"b2dc9479b279ced18067710c299c5bf8"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6?uploadId=68d65088d73ec60008f932a1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6', 'UploadId': '68d65088d73ec60008f932a1', 'MultipartUpload': {'Parts': [{'ETag': '"b2dc9479b279ced18067710c299c5bf8"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:24,982 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,982 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,982 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,982 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,982 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:24,983 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6 gunicorn-registry stdout | uploadId=68d65088d73ec60008f932a1 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:725a99c6df3d38b2afabb17d1982543ddf9918f82de522c4f53c6fc42e8b3fa6 gunicorn-registry stdout | x-amz-date:20250926T083624Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 725a99c6df3d38b2afabb17d1982543ddf9918f82de522c4f53c6fc42e8b3fa6 gunicorn-registry stdout | 2025-09-26 08:36:24,983 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083624Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 0f9f0498b7dfbd2f8b7382e5321fc72205e19fafe9827b8b3e6a371ecca5fcf2 gunicorn-registry stdout | 2025-09-26 08:36:24,983 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 8c297e0d3bd336c773c41fdf7aa732b0d43b2c48471edd01b624abef6bf4c9ad gunicorn-registry stdout | 2025-09-26 08:36:24,983 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,983 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:24,984 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:24,996 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:36:24,997 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89h3-1yknli-j5u', 'x-amz-id-2': 'mg0l89h3-1yknli-j5u', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:24,997 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:24.000Z"a23d2cf51f00eb801bb03cd069a60e08-1"' gunicorn-registry stdout | 2025-09-26 08:36:24,998 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,998 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:24,998 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:24,998 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:24,999 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:25,000 [250] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob ad61bdb4-754a-404b-b962-308e88e0ee5b with digest sha256:4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160 took 0.14271044731140137 seconds gunicorn-registry stdout | 2025-09-26 08:36:25,001 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['ad61bdb4-754a-404b-b962-308e88e0ee5b', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,001 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6?uploadId=68d65088d73ec60008f932a1 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:36:25,001 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89i1-2io5xa-wes', 'x-amz-id-2': 'mg0l89i1-2io5xa-wes', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:25,001 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6"51b19785c2d2d057c3093ca46aa9a2da-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6?uploadId=68d65088d73ec60008f932a1' gunicorn-registry stdout | 2025-09-26 08:36:25,002 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,002 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,002 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,002 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,002 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l89i1-2io5xa-wes', 'HostId': 'mg0l89i1-2io5xa-wes', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89i1-2io5xa-wes', 'x-amz-id-2': 'mg0l89i1-2io5xa-wes', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6?uploadId=68d65088d73ec60008f932a1', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6', 'ETag': '"51b19785c2d2d057c3093ca46aa9a2da-1"'} gunicorn-registry stdout | 2025-09-26 08:36:25,002 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:25,003 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:25,004 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 2994 bytes to blob c6a197c1-ab73-4a77-8ddd-c4bc77422f36 took 0.6534552574157715 seconds gunicorn-registry stdout | 2025-09-26 08:36:25,004 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,005 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['c6a197c1-ab73-4a77-8ddd-c4bc77422f36', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,006 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['f785ed9b-6c3a-470f-b73e-d4a661cdad38', 600, 4096, True, True, 'sha256:4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160']) gunicorn-registry stdout | 2025-09-26 08:36:25,008 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [1, 9]) gunicorn-registry stdout | 2025-09-26 08:36:25,009 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [1, 'c6a197c1-ab73-4a77-8ddd-c4bc77422f36', 2994, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGfgMBAAD//wEAAP//IRiMawAqBQAYMGDAgAEDBgwYMGDAgDIAAAAAAAAAAFwAAAAAAABQVFb2Vrvj6mXSXmtwZYyHqhnJTQthK44tbwsDYdg9vJRiLg==', 9, '{"chunks": [["uploads/829a12b0-72dc-4d16-86ba-658ba75174b6", 0, 2994]]}', 1, 338432, datetime.datetime(2025, 9, 26, 8, 36, 24, 233681), None, None, 6]) gunicorn-registry stdout | 2025-09-26 08:36:25,010 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,012 [250] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [1, 1, datetime.datetime(2025, 9, 26, 8, 36, 25, 11771), datetime.datetime(2025, 9, 26, 9, 36, 25, 11749)]) gunicorn-registry stdout | 2025-09-26 08:36:25,013 [250] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [2]) gunicorn-registry stdout | 2025-09-26 08:36:25,014 [257] [DEBUG] [app] Ending request: urn:request:9b1eaf11-4b7e-451f-9e78-33e1f24848e7 (/v2/quayorg/quayrepo/blobs/uploads/c6a197c1-ab73-4a77-8ddd-c4bc77422f36) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:9b1eaf11-4b7e-451f-9e78-33e1f24848e7', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/uploads/c6a197c1-ab73-4a77-8ddd-c4bc77422f36', 'path': '/v2/quayorg/quayrepo/blobs/uploads/c6a197c1-ab73-4a77-8ddd-c4bc77422f36', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:25,014 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:25,014 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:25,014 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:25 +0000] "PATCH /v2/quayorg/quayrepo/blobs/uploads/c6a197c1-ab73-4a77-8ddd-c4bc77422f36 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:25 +0000] "PATCH /v2/quayorg/quayrepo/blobs/uploads/c6a197c1-ab73-4a77-8ddd-c4bc77422f36 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.734 4775 0.733) gunicorn-registry stdout | 2025-09-26 08:36:25,017 [250] [DEBUG] [app] Ending request: urn:request:c33b05ba-fc67-41d8-bb1d-46ec8727ce74 (/v2/quayorg/quayrepo/blobs/uploads/ad61bdb4-754a-404b-b962-308e88e0ee5b) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:c33b05ba-fc67-41d8-bb1d-46ec8727ce74', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/uploads/ad61bdb4-754a-404b-b962-308e88e0ee5b?digest=sha256:4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160', 'path': '/v2/quayorg/quayrepo/blobs/uploads/ad61bdb4-754a-404b-b962-308e88e0ee5b', 'parameters': {'digest': 'sha256:4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:25,018 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:25,018 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:25 +0000] "PUT /v2/quayorg/quayrepo/blobs/uploads/ad61bdb4-754a-404b-b962-308e88e0ee5b?digest=sha256%3A4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.716 1857 0.716) gunicorn-registry stdout | 2025-09-26 08:36:25,018 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:25 +0000] "PUT /v2/quayorg/quayrepo/blobs/uploads/ad61bdb4-754a-404b-b962-308e88e0ee5b?digest=sha256%3A4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:36:25,049 [257] [DEBUG] [app] Starting request: urn:request:a704f7bb-aa7c-4f81-8848-237eb1ddb3de (/v2/quayorg/quayrepo/blobs/uploads/cdb8b9b4-365a-4b8d-bb06-b1f544fc0fc5) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:25,049 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'cdb8b9b4-365a-4b8d-bb06-b1f544fc0fc5', 'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:25,049 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:25,049 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:25,050 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:25,050 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:25,050 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:25,050 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:25,050 [257] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:25,051 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,053 [256] [DEBUG] [app] Starting request: urn:request:da65a25b-1f11-4352-9c8e-4df68bccd595 (/v2/quayorg/quayrepo/blobs/uploads/c6a197c1-ab73-4a77-8ddd-c4bc77422f36) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:25,054 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'c6a197c1-ab73-4a77-8ddd-c4bc77422f36', 'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:25,054 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:25,054 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:25,055 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:25,055 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:25,055 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:25,055 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:25,055 [256] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:25,056 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,056 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,059 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,061 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,063 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,065 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,067 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,069 [256] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,071 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,073 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,075 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,076 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,079 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-registry stdout | 2025-09-26 08:36:25,080 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,083 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['cdb8b9b4-365a-4b8d-bb06-b1f544fc0fc5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,084 [253] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploadId=68d65088d73ec60008f93298&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:25,084 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-registry stdout | 2025-09-26 08:36:25,084 [253] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l895n-bohmbl-ipx', 'x-amz-id-2': 'mg0l895n-bohmbl-ipx', 'ETag': '"69d6bd5472fb27544ab3f93bbb98a64f"', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:25,084 [253] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:25,084 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,084 [253] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,085 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,085 [253] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l895n-bohmbl-ipx', 'HostId': 'mg0l895n-bohmbl-ipx', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l895n-bohmbl-ipx', 'x-amz-id-2': 'mg0l895n-bohmbl-ipx', 'etag': '"69d6bd5472fb27544ab3f93bbb98a64f"', 'date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"69d6bd5472fb27544ab3f93bbb98a64f"'} gunicorn-registry stdout | 2025-09-26 08:36:25,086 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:25,086 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:25,086 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:25,088 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:25,088 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['c6a197c1-ab73-4a77-8ddd-c4bc77422f36', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,088 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e0021114-4e3c-4ea7-9fc2-d51c3e7ff422', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:25,088 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,088 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,088 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,088 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,088 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,088 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,089 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,089 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,089 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,089 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,089 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,089 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,089 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,089 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,089 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,089 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/e0021114-4e3c-4ea7-9fc2-d51c3e7ff422?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e0021114-4e3c-4ea7-9fc2-d51c3e7ff422', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e0021114-4e3c-4ea7-9fc2-d51c3e7ff422?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e0021114-4e3c-4ea7-9fc2-d51c3e7ff422', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,089 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,089 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,089 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,090 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,090 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,090 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e0021114-4e3c-4ea7-9fc2-d51c3e7ff422 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:25,090 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 5e4836884ef85606db466704f4274b68dbf15f8275aa452e10f4035fde40129b gunicorn-registry stdout | 2025-09-26 08:36:25,090 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ed4561dadb668130dc6c2575e33ca2e739bea02272c1f3e7c6d5baf7a85844f7 gunicorn-registry stdout | 2025-09-26 08:36:25,090 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,090 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,090 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,091 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:25,091 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:25,091 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:25,093 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:25,093 [256] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/259551d5-3834-4f6d-ba50-0f23dd375f66', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:25,093 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,093 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,094 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,094 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,094 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,094 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,094 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,094 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,094 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,095 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,095 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,095 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,095 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,096 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,096 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,096 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/259551d5-3834-4f6d-ba50-0f23dd375f66?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/259551d5-3834-4f6d-ba50-0f23dd375f66', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/259551d5-3834-4f6d-ba50-0f23dd375f66?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/259551d5-3834-4f6d-ba50-0f23dd375f66', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,096 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,096 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,096 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,096 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,097 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,097 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/259551d5-3834-4f6d-ba50-0f23dd375f66 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:25,097 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | b5a60cc5e01532fe7e19bd1d909c1e741ecd9c07e3cee0342aa6e9171eb5cd40 gunicorn-registry stdout | 2025-09-26 08:36:25,097 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | aa3847a8c5dbf1ccbad3790142181496a274c468cdd20a233c8b210d72e83aaa gunicorn-registry stdout | 2025-09-26 08:36:25,097 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,097 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,098 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e0021114-4e3c-4ea7-9fc2-d51c3e7ff422?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:25,098 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,099 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89kz-4a53lr-oeg', 'x-amz-id-2': 'mg0l89kz-4a53lr-oeg', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:25,099 [256] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (1): s3.openshift-storage.svc.cluster.local:443 gunicorn-registry stdout | 2025-09-26 08:36:25,099 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/e0021114-4e3c-4ea7-9fc2-d51c3e7ff42268d65089d73ec60008f932ba' gunicorn-registry stdout | 2025-09-26 08:36:25,102 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,102 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,102 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,102 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l89kz-4a53lr-oeg', 'HostId': 'mg0l89kz-4a53lr-oeg', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89kz-4a53lr-oeg', 'x-amz-id-2': 'mg0l89kz-4a53lr-oeg', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e0021114-4e3c-4ea7-9fc2-d51c3e7ff422', 'UploadId': '68d65089d73ec60008f932ba'} gunicorn-registry stdout | 2025-09-26 08:36:25,102 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:25,103 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e0021114-4e3c-4ea7-9fc2-d51c3e7ff422', 'UploadId': '68d65089d73ec60008f932ba'} gunicorn-registry stdout | 2025-09-26 08:36:25,103 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,103 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,103 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,103 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,103 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,103 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,104 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,104 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,104 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,104 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,104 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,104 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,104 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,104 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/e0021114-4e3c-4ea7-9fc2-d51c3e7ff422', 'query_string': {'uploadId': '68d65089d73ec60008f932ba'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e0021114-4e3c-4ea7-9fc2-d51c3e7ff422', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e0021114-4e3c-4ea7-9fc2-d51c3e7ff422?uploadId=68d65089d73ec60008f932ba', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e0021114-4e3c-4ea7-9fc2-d51c3e7ff422', 'UploadId': '68d65089d73ec60008f932ba'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,105 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,105 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,105 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,105 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,106 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,106 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e0021114-4e3c-4ea7-9fc2-d51c3e7ff422 gunicorn-registry stdout | uploadId=68d65089d73ec60008f932ba gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:25,106 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 3a3d1c8d221f5c4d12115395b80bb8f79999e242df27797633d3b8ac7b8d8d32 gunicorn-registry stdout | 2025-09-26 08:36:25,106 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 61af34c0c848e3c725f148192214c39eb5c3efc7476705843c6df082ca407713 gunicorn-registry stdout | 2025-09-26 08:36:25,106 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,106 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,106 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,114 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e0021114-4e3c-4ea7-9fc2-d51c3e7ff422?uploadId=68d65089d73ec60008f932ba HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:25,114 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89lg-4k5vwr-l8m', 'x-amz-id-2': 'mg0l89lg-4k5vwr-l8m', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:25,114 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:25,115 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,115 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,115 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,115 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l89lg-4k5vwr-l8m', 'HostId': 'mg0l89lg-4k5vwr-l8m', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89lg-4k5vwr-l8m', 'x-amz-id-2': 'mg0l89lg-4k5vwr-l8m', 'date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:25,115 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob cdb8b9b4-365a-4b8d-bb06-b1f544fc0fc5 took 0.028914690017700195 seconds gunicorn-registry stdout | 2025-09-26 08:36:25,116 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['cdb8b9b4-365a-4b8d-bb06-b1f544fc0fc5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,120 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [1, 'cdb8b9b4-365a-4b8d-bb06-b1f544fc0fc5', 1494848, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwEVVmZPztYfPdEQGFQV2CoNzF4UCoEBBSZR3Q32E67z/56AkHnnDgCQf+Zznw/wEAAP//AQAA///eT2tgAH4/AAAAAAAAAAAAAHq2AAAAAADZRtT7WgyGiOCw6UBdxE5z5QO8XM3oWSQ4YslybPI3WpRiLg==', 9, '{"chunks": [["uploads/d090bbf4-411f-4f9a-a298-f6878d9d2b3b", 0, 1494848]]}', 2, 4161024, datetime.datetime(2025, 9, 26, 8, 36, 23, 974246), None, None, 4]) gunicorn-registry stdout | 2025-09-26 08:36:25,125 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:25,125 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:25,125 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:25,126 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:25,127 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d'} gunicorn-registry stdout | 2025-09-26 08:36:25,127 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,127 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,127 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,127 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,127 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,127 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,127 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,127 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,128 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,128 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,128 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,128 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,128 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,128 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,128 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,128 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,129 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,129 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,129 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,129 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,129 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:25,129 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 6573fc08bcc919e36751d43d7c414b4b2a062afc912aa0042dabf360e7aa07be gunicorn-registry stdout | 2025-09-26 08:36:25,129 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ec48e5f45b15df0af6f40a8bd3917e7c7edc17308657576d0f4b9a294caa593a gunicorn-registry stdout | 2025-09-26 08:36:25,129 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,129 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,130 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,136 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:25,137 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89m3-4xt73m-4mm', 'x-amz-id-2': 'mg0l89m3-4xt73m-4mm', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:25,137 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:25,139 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,140 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,140 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,140 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:25,140 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:25,140 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d gunicorn-registry stdout | 2025-09-26 08:36:25,140 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:25,141 [252] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887?uploadId=68d65088d73ec60008f932a6&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:25,141 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:25,141 [252] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89e9-9v7hs-19yx', 'x-amz-id-2': 'mg0l89e9-9v7hs-19yx', 'ETag': '"6ce263de8e44b48f1b76963bcef68b11"', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:25,141 [252] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:25,141 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:25,141 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:25,142 [252] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,142 [252] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,142 [252] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,142 [252] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l89e9-9v7hs-19yx', 'HostId': 'mg0l89e9-9v7hs-19yx', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89e9-9v7hs-19yx', 'x-amz-id-2': 'mg0l89e9-9v7hs-19yx', 'etag': '"6ce263de8e44b48f1b76963bcef68b11"', 'date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"6ce263de8e44b48f1b76963bcef68b11"'} gunicorn-registry stdout | 2025-09-26 08:36:25,142 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,142 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/259551d5-3834-4f6d-ba50-0f23dd375f66?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:25,142 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,142 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,142 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,142 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,143 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89m8-50tu4x-1djx', 'x-amz-id-2': 'mg0l89m8-50tu4x-1djx', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:25,143 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/259551d5-3834-4f6d-ba50-0f23dd375f6668d65089d73ec60008f932c1' gunicorn-registry stdout | 2025-09-26 08:36:25,143 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,143 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,143 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,143 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,143 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,144 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,144 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,144 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,144 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,144 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,144 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,144 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l89m8-50tu4x-1djx', 'HostId': 'mg0l89m8-50tu4x-1djx', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89m8-50tu4x-1djx', 'x-amz-id-2': 'mg0l89m8-50tu4x-1djx', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/259551d5-3834-4f6d-ba50-0f23dd375f66', 'UploadId': '68d65089d73ec60008f932c1'} gunicorn-registry stdout | 2025-09-26 08:36:25,144 [256] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:25,144 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,144 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/d090bbf4-411f-4f9a-a298-f6878d9d2b3b', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d090bbf4-411f-4f9a-a298-f6878d9d2b3b', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d090bbf4-411f-4f9a-a298-f6878d9d2b3b', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d090bbf4-411f-4f9a-a298-f6878d9d2b3b'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,145 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,145 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,145 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,145 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,145 [256] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/259551d5-3834-4f6d-ba50-0f23dd375f66', 'UploadId': '68d65089d73ec60008f932c1'} gunicorn-registry stdout | 2025-09-26 08:36:25,146 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,146 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,146 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,146 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,146 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d090bbf4-411f-4f9a-a298-f6878d9d2b3b gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:25,146 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,146 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 1821d2d639fbc69a4de16e80583dc974adb279decd27b7ba0d56a087611b4f48 gunicorn-registry stdout | 2025-09-26 08:36:25,146 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,146 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 3b7bf581f80ba965f8129442cb9495944dfdcff86435ea3aa3a493013f8b8dc1 gunicorn-registry stdout | 2025-09-26 08:36:25,146 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,146 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,146 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,146 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,146 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,146 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,146 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,147 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,147 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,147 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,147 [256] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,147 [256] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,147 [256] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,147 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/259551d5-3834-4f6d-ba50-0f23dd375f66', 'query_string': {'uploadId': '68d65089d73ec60008f932c1'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/259551d5-3834-4f6d-ba50-0f23dd375f66', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/259551d5-3834-4f6d-ba50-0f23dd375f66?uploadId=68d65089d73ec60008f932c1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/259551d5-3834-4f6d-ba50-0f23dd375f66', 'UploadId': '68d65089d73ec60008f932c1'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,148 [256] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,148 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,148 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,149 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,149 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,149 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/259551d5-3834-4f6d-ba50-0f23dd375f66 gunicorn-registry stdout | uploadId=68d65089d73ec60008f932c1 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:25,149 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 2a92c01d1e837c933dfc8df5a0a0486ca7f5a0dade888480811dfec67df07f09 gunicorn-registry stdout | 2025-09-26 08:36:25,149 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | a08a7fe279b3924d40c46884a467ba9d2a0971dbca930212a2b7f444798ba726 gunicorn-registry stdout | 2025-09-26 08:36:25,149 [256] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,149 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,150 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,151 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d090bbf4-411f-4f9a-a298-f6878d9d2b3b HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:25,152 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89mk-57rgis-aha', 'x-amz-id-2': 'mg0l89mk-57rgis-aha', 'ETag': '"9a6014d504d1722e1fee513143598eec-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '1494848', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:25,152 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:25,153 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,153 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,153 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,153 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:25,153 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:25,154 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:25,154 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:25,154 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d090bbf4-411f-4f9a-a298-f6878d9d2b3b'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d', 'extra_args': {}, 'callbacks': [], 'size': 1494848} gunicorn-registry stdout | 2025-09-26 08:36:25,154 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,154 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,154 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,154 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,155 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,155 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,155 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,155 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,155 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,155 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,155 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,155 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,155 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,155 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,156 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,156 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,156 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,156 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d090bbf4-411f-4f9a-a298-f6878d9d2b3b', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d090bbf4-411f-4f9a-a298-f6878d9d2b3b', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,156 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,156 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,157 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,157 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,157 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,157 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/259551d5-3834-4f6d-ba50-0f23dd375f66?uploadId=68d65089d73ec60008f932c1 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:25,157 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,157 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d090bbf4-411f-4f9a-a298-f6878d9d2b3b gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:25,157 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 6810f4cd51d4067c5b5f275674e164f8e55dbd3233fdfe5ce1ba8f0ee495e5fd gunicorn-registry stdout | 2025-09-26 08:36:25,157 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | f4b1888ed6132b43dcddc7ed58bd2180d039c29a0be22283fa5c840491a959e7 gunicorn-registry stdout | 2025-09-26 08:36:25,157 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89mn-59wctl-14rp', 'x-amz-id-2': 'mg0l89mn-59wctl-14rp', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:25,157 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,157 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:25,157 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,157 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,158 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,158 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,158 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,158 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,158 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l89mn-59wctl-14rp', 'HostId': 'mg0l89mn-59wctl-14rp', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89mn-59wctl-14rp', 'x-amz-id-2': 'mg0l89mn-59wctl-14rp', 'date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:25,158 [256] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob c6a197c1-ab73-4a77-8ddd-c4bc77422f36 took 0.06672430038452148 seconds gunicorn-registry stdout | 2025-09-26 08:36:25,158 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:25,159 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['c6a197c1-ab73-4a77-8ddd-c4bc77422f36', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,163 [256] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [1, 'c6a197c1-ab73-4a77-8ddd-c4bc77422f36', 2994, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGfgMBAAD//wEAAP//IRiMawAqBQAYMGDAgAEDBgwYMGDAgDIAAAAAAAAAAFwAAAAAAABQVFb2Vrvj6mXSXmtwZYyHqhnJTQthK44tbwsDYdg9vJRiLg==', 9, '{"chunks": [["uploads/829a12b0-72dc-4d16-86ba-658ba75174b6", 0, 2994]]}', 2, 338432, datetime.datetime(2025, 9, 26, 8, 36, 24, 233681), None, None, 6]) gunicorn-registry stdout | 2025-09-26 08:36:25,168 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:25,168 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:25,168 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:25,169 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:25,170 [256] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/cd/cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a'} gunicorn-registry stdout | 2025-09-26 08:36:25,170 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,170 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,171 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,171 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,171 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,171 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,171 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,171 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,171 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,171 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,171 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,172 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,172 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,172 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,172 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/cd/cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cd/cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cd/cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/cd/cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,172 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,172 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,172 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,173 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,173 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,173 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cd/cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:25,173 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | b40d851935a401580bf8b9b92ec31299a8c0dfd74f8dae7b7e65dde9ead3b1b5 gunicorn-registry stdout | 2025-09-26 08:36:25,173 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 9085a41b9f8685dd875e473b0da96313a6dcee79599c56814aaf7113d3047284 gunicorn-registry stdout | 2025-09-26 08:36:25,173 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,173 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,174 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,178 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cd/cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:25,178 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89nb-5nqmzg-r5o', 'x-amz-id-2': 'mg0l89nb-5nqmzg-r5o', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:25,178 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:25,181 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,181 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,181 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,182 [256] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:25,182 [256] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:25,182 [256] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/cd/cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a gunicorn-registry stdout | 2025-09-26 08:36:25,183 [256] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:25,183 [256] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:25,183 [256] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:25,184 [256] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:25,184 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,184 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,184 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,184 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,184 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,184 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,184 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,185 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,185 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,185 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,185 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,185 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:36:25,185 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,185 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,185 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,185 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89mv-5em6kk-xwi', 'x-amz-id-2': 'mg0l89mv-5em6kk-xwi', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:25,185 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,185 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:25.000Z"9a6014d504d1722e1fee513143598eec-1"' gunicorn-registry stdout | 2025-09-26 08:36:25,186 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,186 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,186 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,186 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,186 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,186 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,186 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,186 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,186 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,187 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:25,187 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,187 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:25,187 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4418fe7ea64537bfb52edffc7ef3c562f0252fbbcde4d356ecc58ed83ca60b8e gunicorn-registry stdout | 2025-09-26 08:36:25,187 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 43af451e338b5115017f0c8671e39312d34de87de081543c59affa749e380ff4 gunicorn-registry stdout | 2025-09-26 08:36:25,187 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,187 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,187 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,187 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob cdb8b9b4-365a-4b8d-bb06-b1f544fc0fc5 with digest sha256:b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d took 0.047205209732055664 seconds gunicorn-registry stdout | 2025-09-26 08:36:25,187 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,191 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:25,192 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89no-5vr3nz-142k', 'x-amz-id-2': 'mg0l89no-5vr3nz-142k', 'ETag': '"51b19785c2d2d057c3093ca46aa9a2da-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:24 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '2994', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:25,192 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:25,193 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,193 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,193 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,193 [256] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/cd/cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:25,193 [256] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:25,233 [256] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/cd/cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:25,233 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['cdb8b9b4-365a-4b8d-bb06-b1f544fc0fc5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,233 [256] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/cd/cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:25,234 [256] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/cd/cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/cd/cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a', 'extra_args': {}, 'callbacks': [], 'size': 2994} gunicorn-registry stdout | 2025-09-26 08:36:25,234 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,234 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,234 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,234 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,234 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,235 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,235 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,235 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,235 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,235 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,235 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,235 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,235 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,235 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,236 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,236 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,236 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,236 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/cd/cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cd/cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cd/cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/cd/cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,236 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,236 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,237 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,237 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,237 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,237 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,237 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,237 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cd/cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/829a12b0-72dc-4d16-86ba-658ba75174b6 gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:25,237 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 66a79d674eb434b5242e3cc9e79e6785922a58ebb67f68b8e02df4e8dc83d3aa gunicorn-registry stdout | 2025-09-26 08:36:25,238 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 2ec493b91eb02a7fae268f722e801eab71dcac0ad263b32bcf0cbef2b5f9bd51 gunicorn-registry stdout | 2025-09-26 08:36:25,238 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,238 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,238 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,238 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,239 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['67781ee4-5131-487b-87a9-bacb6fd3222b', 1494848, 4161024, True, True, 'sha256:b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d']) gunicorn-registry stdout | 2025-09-26 08:36:25,239 [256] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:25,241 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [3, 9]) gunicorn-registry stdout | 2025-09-26 08:36:25,243 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,245 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [1, 3, datetime.datetime(2025, 9, 26, 8, 36, 25, 244974), datetime.datetime(2025, 9, 26, 9, 36, 25, 244951)]) gunicorn-registry stdout | 2025-09-26 08:36:25,247 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [4]) gunicorn-registry stdout | 2025-09-26 08:36:25,251 [257] [DEBUG] [app] Ending request: urn:request:a704f7bb-aa7c-4f81-8848-237eb1ddb3de (/v2/quayorg/quayrepo/blobs/uploads/cdb8b9b4-365a-4b8d-bb06-b1f544fc0fc5) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:a704f7bb-aa7c-4f81-8848-237eb1ddb3de', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/uploads/cdb8b9b4-365a-4b8d-bb06-b1f544fc0fc5?digest=sha256:b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d', 'path': '/v2/quayorg/quayrepo/blobs/uploads/cdb8b9b4-365a-4b8d-bb06-b1f544fc0fc5', 'parameters': {'digest': 'sha256:b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:25,251 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:25,251 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:25,252 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:25 +0000] "PUT /v2/quayorg/quayrepo/blobs/uploads/cdb8b9b4-365a-4b8d-bb06-b1f544fc0fc5?digest=sha256%3Ab4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:25 +0000] "PUT /v2/quayorg/quayrepo/blobs/uploads/cdb8b9b4-365a-4b8d-bb06-b1f544fc0fc5?digest=sha256%3Ab4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.204 1857 0.204) gunicorn-registry stdout | 2025-09-26 08:36:25,269 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cd/cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:36:25,270 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89p5-6r2yjc-h7k', 'x-amz-id-2': 'mg0l89p5-6r2yjc-h7k', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:25,270 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:25.000Z"51b19785c2d2d057c3093ca46aa9a2da-1"' gunicorn-registry stdout | 2025-09-26 08:36:25,271 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,271 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,271 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,271 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,271 [256] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:25,272 [256] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob c6a197c1-ab73-4a77-8ddd-c4bc77422f36 with digest sha256:cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a took 0.09035110473632812 seconds gunicorn-registry stdout | 2025-09-26 08:36:25,273 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['c6a197c1-ab73-4a77-8ddd-c4bc77422f36', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,276 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,278 [256] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['37644509-1acb-4be7-86bb-9da6c1f66944', 2994, 338432, True, True, 'sha256:cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a']) gunicorn-registry stdout | 2025-09-26 08:36:25,280 [256] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [4, 9]) gunicorn-registry stdout | 2025-09-26 08:36:25,282 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,285 [256] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [1, 4, datetime.datetime(2025, 9, 26, 8, 36, 25, 285156), datetime.datetime(2025, 9, 26, 9, 36, 25, 285132)]) gunicorn-registry stdout | 2025-09-26 08:36:25,287 [256] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [6]) gunicorn-registry stdout | 2025-09-26 08:36:25,291 [256] [DEBUG] [app] Ending request: urn:request:da65a25b-1f11-4352-9c8e-4df68bccd595 (/v2/quayorg/quayrepo/blobs/uploads/c6a197c1-ab73-4a77-8ddd-c4bc77422f36) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:da65a25b-1f11-4352-9c8e-4df68bccd595', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/uploads/c6a197c1-ab73-4a77-8ddd-c4bc77422f36?digest=sha256:cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a', 'path': '/v2/quayorg/quayrepo/blobs/uploads/c6a197c1-ab73-4a77-8ddd-c4bc77422f36', 'parameters': {'digest': 'sha256:cd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:25,292 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:25,292 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:25,292 [256] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:25 +0000] "PUT /v2/quayorg/quayrepo/blobs/uploads/c6a197c1-ab73-4a77-8ddd-c4bc77422f36?digest=sha256%3Acd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:25 +0000] "PUT /v2/quayorg/quayrepo/blobs/uploads/c6a197c1-ab73-4a77-8ddd-c4bc77422f36?digest=sha256%3Acd01f30719aa1e9c7f9746e59424cf9702279e8edb27db2cd5a40257fd1df93a HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.240 1857 0.239) gunicorn-registry stdout | 2025-09-26 08:36:25,297 [253] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:25,297 [253] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:25,297 [253] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'UploadId': '68d65088d73ec60008f93298', 'PartNumber': 2, 'Body': <_io.BytesIO object at 0x7fc50dc1a2f0>, 'ContentLength': 5242880} gunicorn-registry stdout | 2025-09-26 08:36:25,298 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,298 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,298 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,298 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,298 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,298 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,298 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,298 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,298 [253] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,298 [253] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,298 [253] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,298 [253] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,299 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,338 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,338 [253] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:25,338 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,338 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,338 [253] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'query_string': {'uploadId': '68d65088d73ec60008f93298', 'partNumber': 2}, 'method': 'PUT', 'headers': {'Content-Length': '5242880', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': '4tSQbSscTOF9ni6vQPAINQ==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc1a2f0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploadId=68d65088d73ec60008f93298&partNumber=2', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'UploadId': '68d65088d73ec60008f93298', 'PartNumber': 2, 'Body': <_io.BytesIO object at 0x7fc50dc1a2f0>, 'ContentLength': 5242880}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,338 [253] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,338 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,339 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,339 [253] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,339 [253] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,339 [253] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0 gunicorn-registry stdout | partNumber=2&uploadId=68d65088d73ec60008f93298 gunicorn-registry stdout | content-length:5242880 gunicorn-registry stdout | content-md5:4tSQbSscTOF9ni6vQPAINQ== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:25,339 [253] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 25c95e1f32b4b40bad11d7cfb1e978bce6dd2188ca72281a865290e75431707c gunicorn-registry stdout | 2025-09-26 08:36:25,339 [253] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | f7074f53e5265d01b8ac629bbe08b9b2f0ad1cc828b04ce8f2031ffcae4227bc gunicorn-registry stdout | 2025-09-26 08:36:25,339 [253] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,339 [253] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,339 [253] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,340 [253] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:25,341 [253] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:36:25,362 [252] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:25,362 [252] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:25,363 [252] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'UploadId': '68d65088d73ec60008f932a6', 'PartNumber': 2, 'Body': <_io.BytesIO object at 0x7fc50dc1a2a0>, 'ContentLength': 4769745} gunicorn-registry stdout | 2025-09-26 08:36:25,363 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,363 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,363 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,363 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,363 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,363 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,363 [252] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,363 [252] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,363 [252] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,363 [252] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,364 [252] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,364 [252] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,364 [252] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,376 [252] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,376 [252] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:25,376 [252] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,376 [252] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,376 [252] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'query_string': {'uploadId': '68d65088d73ec60008f932a6', 'partNumber': 2}, 'method': 'PUT', 'headers': {'Content-Length': '4769745', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'KOXXoRZfBNCRpdMVq3iWBQ==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc1a2a0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887?uploadId=68d65088d73ec60008f932a6&partNumber=2', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'UploadId': '68d65088d73ec60008f932a6', 'PartNumber': 2, 'Body': <_io.BytesIO object at 0x7fc50dc1a2a0>, 'ContentLength': 4769745}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,376 [252] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,376 [252] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,377 [252] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,377 [252] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,377 [252] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,377 [252] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887 gunicorn-registry stdout | partNumber=2&uploadId=68d65088d73ec60008f932a6 gunicorn-registry stdout | content-length:4769745 gunicorn-registry stdout | content-md5:KOXXoRZfBNCRpdMVq3iWBQ== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:25,377 [252] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 162c858f83ffdc7d291e995512dab78cacfda9f1b0fc0d6c5b58c9f17352818f gunicorn-registry stdout | 2025-09-26 08:36:25,377 [252] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 5543368c962976a0b79526537399695fd3cc4f32051bf0f513eb09a9b62e1b52 gunicorn-registry stdout | 2025-09-26 08:36:25,377 [252] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,377 [252] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,378 [252] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,379 [252] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:25,379 [252] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. repositorygcworker stdout | 2025-09-26 08:36:25,480 [86] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositorygcworker.py', 'pid': '86'} gunicorn-secscan stdout | 2025-09-26 08:36:25,615 [227] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '227'} gunicorn-secscan stdout | 2025-09-26 08:36:25,623 [228] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '228'} gunicorn-secscan stdout | 2025-09-26 08:36:25,629 [60] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '60'} gunicorn-registry stdout | 2025-09-26 08:36:25,667 [253] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploadId=68d65088d73ec60008f93298&partNumber=2 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:25,668 [253] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89rx-8ejg5h-5ap', 'x-amz-id-2': 'mg0l89rx-8ejg5h-5ap', 'ETag': '"e2d4906d2b1c4ce17d9e2eaf40f00835"', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:25,668 [253] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:25,668 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,668 [253] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,668 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,668 [253] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l89rx-8ejg5h-5ap', 'HostId': 'mg0l89rx-8ejg5h-5ap', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89rx-8ejg5h-5ap', 'x-amz-id-2': 'mg0l89rx-8ejg5h-5ap', 'etag': '"e2d4906d2b1c4ce17d9e2eaf40f00835"', 'date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"e2d4906d2b1c4ce17d9e2eaf40f00835"'} gunicorn-registry stdout | 2025-09-26 08:36:25,778 [252] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887?uploadId=68d65088d73ec60008f932a6&partNumber=2 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:25,778 [252] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89sz-91dtgy-yky', 'x-amz-id-2': 'mg0l89sz-91dtgy-yky', 'ETag': '"28e5d7a1165f04d091a5d315ab789605"', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:25,779 [252] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:25,779 [252] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,779 [252] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,779 [252] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,779 [252] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l89sz-91dtgy-yky', 'HostId': 'mg0l89sz-91dtgy-yky', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l89sz-91dtgy-yky', 'x-amz-id-2': 'mg0l89sz-91dtgy-yky', 'etag': '"28e5d7a1165f04d091a5d315ab789605"', 'date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"28e5d7a1165f04d091a5d315ab789605"'} gunicorn-registry stdout | 2025-09-26 08:36:25,779 [252] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'UploadId': '68d65088d73ec60008f932a6', 'MultipartUpload': {'Parts': [{'ETag': '"6ce263de8e44b48f1b76963bcef68b11"', 'PartNumber': 1}, {'ETag': '"28e5d7a1165f04d091a5d315ab789605"', 'PartNumber': 2}]}} gunicorn-registry stdout | 2025-09-26 08:36:25,780 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,780 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,780 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,780 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,780 [252] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,780 [252] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,780 [252] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,780 [252] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,780 [252] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,780 [252] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,780 [252] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,781 [252] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,781 [252] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,781 [252] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,781 [252] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'query_string': {'uploadId': '68d65088d73ec60008f932a6'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"6ce263de8e44b48f1b76963bcef68b11"1"28e5d7a1165f04d091a5d315ab789605"2', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887?uploadId=68d65088d73ec60008f932a6', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'UploadId': '68d65088d73ec60008f932a6', 'MultipartUpload': {'Parts': [{'ETag': '"6ce263de8e44b48f1b76963bcef68b11"', 'PartNumber': 1}, {'ETag': '"28e5d7a1165f04d091a5d315ab789605"', 'PartNumber': 2}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,781 [252] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,782 [252] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,782 [252] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,782 [252] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,782 [252] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,783 [252] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887 gunicorn-registry stdout | uploadId=68d65088d73ec60008f932a6 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:951ef2b6759ca1aa14a9dc925ce7e974892df8d4cf5241446b2d3833f183b2dc gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 951ef2b6759ca1aa14a9dc925ce7e974892df8d4cf5241446b2d3833f183b2dc gunicorn-registry stdout | 2025-09-26 08:36:25,783 [252] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | decc12338acbb9537542d1ffcb2f1a9aa71b84e7a08743ba6b9ca39b1cff6e46 gunicorn-registry stdout | 2025-09-26 08:36:25,783 [252] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 28ebe190888c8cdd4f8a439cc6d091ba23aeb38cf5965123b9aa731ffce3b467 gunicorn-registry stdout | 2025-09-26 08:36:25,783 [252] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,783 [252] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,783 [252] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,802 [252] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887?uploadId=68d65088d73ec60008f932a6 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:36:25,802 [252] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8a48-fqlwoa-19hi', 'x-amz-id-2': 'mg0l8a48-fqlwoa-19hi', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:25,802 [252] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887"310f5a4e36420ce21e3b62449ba49edd-2"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887?uploadId=68d65088d73ec60008f932a6' gunicorn-registry stdout | 2025-09-26 08:36:25,802 [252] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,803 [252] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,803 [252] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,803 [252] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,803 [252] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8a48-fqlwoa-19hi', 'HostId': 'mg0l8a48-fqlwoa-19hi', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8a48-fqlwoa-19hi', 'x-amz-id-2': 'mg0l8a48-fqlwoa-19hi', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887?uploadId=68d65088d73ec60008f932a6', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'ETag': '"310f5a4e36420ce21e3b62449ba49edd-2"'} gunicorn-registry stdout | 2025-09-26 08:36:25,803 [252] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:25,804 [252] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:25,804 [252] [DEBUG] [data.registry_model.blobuploader] Uploaded 10012625 bytes to blob 6aa4c28a-9d56-44d0-93ac-4498d460c199 took 1.6379191875457764 seconds gunicorn-registry stdout | 2025-09-26 08:36:25,804 [253] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:25,804 [253] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:25,805 [253] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'UploadId': '68d65088d73ec60008f93298', 'PartNumber': 3, 'Body': <_io.BytesIO object at 0x7fc50dc19170>, 'ContentLength': 5242880} gunicorn-registry stdout | 2025-09-26 08:36:25,805 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,805 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,805 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,805 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,805 [252] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['6aa4c28a-9d56-44d0-93ac-4498d460c199', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,805 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,805 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,805 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,805 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,805 [253] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,805 [253] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,805 [253] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,805 [253] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,806 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,810 [252] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [1, '6aa4c28a-9d56-44d0-93ac-4498d460c199', 10012625, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAD//wEAAP//IuDIUQC85wFQYRAocyU4kFTu+DgJk4fo42jmGog4iBJKzqQktA3M/mfWArMWmLXArAXMLfC/AREAAAAAAAAAAD7GBAAAAAA39hf8LeKjjejm0loXYkLZKk9BSxqqCGbZ8FOH+QoOcZRiLg==', 9, '{"chunks": [["uploads/42f520c6-cd77-4664-8a01-e2edb4f64887", 0, 10012625]]}', 1, 31964160, datetime.datetime(2025, 9, 26, 8, 36, 23, 968164), None, None, 3]) gunicorn-registry stdout | 2025-09-26 08:36:25,815 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,815 [252] [DEBUG] [app] Ending request: urn:request:a3c1b0f1-e2c4-4ef2-9724-4bc94b15c016 (/v2/quayorg/quayrepo/blobs/uploads/6aa4c28a-9d56-44d0-93ac-4498d460c199) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:a3c1b0f1-e2c4-4ef2-9724-4bc94b15c016', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/uploads/6aa4c28a-9d56-44d0-93ac-4498d460c199', 'path': '/v2/quayorg/quayrepo/blobs/uploads/6aa4c28a-9d56-44d0-93ac-4498d460c199', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:25,816 [253] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:25,816 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,816 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,816 [253] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'query_string': {'uploadId': '68d65088d73ec60008f93298', 'partNumber': 3}, 'method': 'PUT', 'headers': {'Content-Length': '5242880', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'R4xqEy9aRerNbtG1mK4g7A==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc19170>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploadId=68d65088d73ec60008f93298&partNumber=3', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'UploadId': '68d65088d73ec60008f93298', 'PartNumber': 3, 'Body': <_io.BytesIO object at 0x7fc50dc19170>, 'ContentLength': 5242880}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,816 [253] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,816 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,816 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,816 [253] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,816 [252] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:25,816 [252] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:25,816 [253] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,816 [253] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0 gunicorn-registry stdout | partNumber=3&uploadId=68d65088d73ec60008f93298 gunicorn-registry stdout | content-length:5242880 gunicorn-registry stdout | content-md5:R4xqEy9aRerNbtG1mK4g7A== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:25,817 [253] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | d342042221ccae9ec7b1d198e6d8ebc21bbcfcd771971d7a2237a405f3b49ddd gunicorn-registry stdout | 2025-09-26 08:36:25,817 [253] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | c8e0f3b26f688628ef78c530ee4ee7ebd33cf0fc33addf83919c02057d362e3b gunicorn-registry stdout | 2025-09-26 08:36:25,817 [253] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,817 [253] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,817 [252] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:25 +0000] "PATCH /v2/quayorg/quayrepo/blobs/uploads/6aa4c28a-9d56-44d0-93ac-4498d460c199 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:25 +0000] "PATCH /v2/quayorg/quayrepo/blobs/uploads/6aa4c28a-9d56-44d0-93ac-4498d460c199 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (1.784 10014410 1.784) gunicorn-registry stdout | 2025-09-26 08:36:25,817 [253] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,818 [253] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:25,818 [253] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:36:25,858 [257] [DEBUG] [app] Starting request: urn:request:f781483a-3cd0-483a-80f4-3c5d74b23a4c (/v2/quayorg/quayrepo/blobs/uploads/6aa4c28a-9d56-44d0-93ac-4498d460c199) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:25,859 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '6aa4c28a-9d56-44d0-93ac-4498d460c199', 'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:25,859 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:25,859 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:25,860 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:25,860 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:25,860 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:25,860 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:25,860 [257] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:25,862 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,866 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,870 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) namespacegcworker stdout | 2025-09-26 08:36:25,874 [66] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'namespacegcworker.py', 'pid': '66'} gunicorn-registry stdout | 2025-09-26 08:36:25,874 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,877 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,881 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,885 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,889 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-registry stdout | 2025-09-26 08:36:25,893 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['6aa4c28a-9d56-44d0-93ac-4498d460c199', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,896 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:25,897 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:25,897 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:25,897 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:25,898 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/5388ef88-e986-477d-bb43-0acf0f06c43e', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:25,898 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,898 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,898 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,898 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,898 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,898 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,899 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,899 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,899 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,899 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,899 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,899 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,899 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,899 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,899 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,899 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/5388ef88-e986-477d-bb43-0acf0f06c43e?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5388ef88-e986-477d-bb43-0acf0f06c43e', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5388ef88-e986-477d-bb43-0acf0f06c43e?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/5388ef88-e986-477d-bb43-0acf0f06c43e', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,900 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,900 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,900 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,900 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,900 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,900 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5388ef88-e986-477d-bb43-0acf0f06c43e gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:25,900 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 701df4b68561213c51a51819f6648526b4378933ce59998f6abbedefb6a873e6 gunicorn-registry stdout | 2025-09-26 08:36:25,900 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 78d5af90da93876ba7220ca92c6df2ef0737cf43cefe933bf199969c2c408572 gunicorn-registry stdout | 2025-09-26 08:36:25,900 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,900 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,900 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,907 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5388ef88-e986-477d-bb43-0acf0f06c43e?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:25,908 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8a7j-1605r5-1dlh', 'x-amz-id-2': 'mg0l8a7j-1605r5-1dlh', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:25,908 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/5388ef88-e986-477d-bb43-0acf0f06c43e68d65089d73ec60008f932d7' gunicorn-registry stdout | 2025-09-26 08:36:25,909 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,909 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,909 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,909 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8a7j-1605r5-1dlh', 'HostId': 'mg0l8a7j-1605r5-1dlh', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8a7j-1605r5-1dlh', 'x-amz-id-2': 'mg0l8a7j-1605r5-1dlh', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/5388ef88-e986-477d-bb43-0acf0f06c43e', 'UploadId': '68d65089d73ec60008f932d7'} gunicorn-registry stdout | 2025-09-26 08:36:25,909 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:25,909 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/5388ef88-e986-477d-bb43-0acf0f06c43e', 'UploadId': '68d65089d73ec60008f932d7'} gunicorn-registry stdout | 2025-09-26 08:36:25,909 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,910 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,910 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,910 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,910 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,910 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,910 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,910 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,910 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,910 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,910 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,910 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,910 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,910 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/5388ef88-e986-477d-bb43-0acf0f06c43e', 'query_string': {'uploadId': '68d65089d73ec60008f932d7'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5388ef88-e986-477d-bb43-0acf0f06c43e', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5388ef88-e986-477d-bb43-0acf0f06c43e?uploadId=68d65089d73ec60008f932d7', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/5388ef88-e986-477d-bb43-0acf0f06c43e', 'UploadId': '68d65089d73ec60008f932d7'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,910 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,910 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,910 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,910 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,911 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,911 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5388ef88-e986-477d-bb43-0acf0f06c43e gunicorn-registry stdout | uploadId=68d65089d73ec60008f932d7 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:25,911 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 1876749136d15e20bd7e7e32e3bf5c1aa5ff17ae0c1c324b3b54d16bf2d3ad92 gunicorn-registry stdout | 2025-09-26 08:36:25,911 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | d4f9089b4e93ee1e7ffe7f241e1c6b7242de70ef89bacccbec096c7e70ee48a7 gunicorn-registry stdout | 2025-09-26 08:36:25,911 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,911 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,912 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,921 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5388ef88-e986-477d-bb43-0acf0f06c43e?uploadId=68d65089d73ec60008f932d7 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:25,921 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8a7t-1butfl-wgb', 'x-amz-id-2': 'mg0l8a7t-1butfl-wgb', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:25,922 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:25,922 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,922 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,922 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,922 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8a7t-1butfl-wgb', 'HostId': 'mg0l8a7t-1butfl-wgb', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8a7t-1butfl-wgb', 'x-amz-id-2': 'mg0l8a7t-1butfl-wgb', 'date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:25,922 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 6aa4c28a-9d56-44d0-93ac-4498d460c199 took 0.025659799575805664 seconds gunicorn-registry stdout | 2025-09-26 08:36:25,924 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['6aa4c28a-9d56-44d0-93ac-4498d460c199', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:25,928 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [1, '6aa4c28a-9d56-44d0-93ac-4498d460c199', 10012625, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAD//wEAAP//IuDIUQC85wFQYRAocyU4kFTu+DgJk4fo42jmGog4iBJKzqQktA3M/mfWArMWmLXArAXMLfC/AREAAAAAAAAAAD7GBAAAAAA39hf8LeKjjejm0loXYkLZKk9BSxqqCGbZ8FOH+QoOcZRiLg==', 9, '{"chunks": [["uploads/42f520c6-cd77-4664-8a01-e2edb4f64887", 0, 10012625]]}', 2, 31964160, datetime.datetime(2025, 9, 26, 8, 36, 23, 968164), None, None, 3]) gunicorn-registry stdout | 2025-09-26 08:36:25,933 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:25,933 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:25,934 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:25,935 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:25,935 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1'} gunicorn-registry stdout | 2025-09-26 08:36:25,935 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,935 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,935 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,935 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,936 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,936 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,936 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,936 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,936 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,936 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,936 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,936 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,936 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,936 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,936 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,937 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,937 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,937 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,937 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,937 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,937 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:25,937 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | c8e1e4ac08b4f6a398869a774dda7cbd863d62e7454495e1f93d143fa98d3975 gunicorn-registry stdout | 2025-09-26 08:36:25,937 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 9d77e247b7c8a4072ee51e70be7187dcca5fdedad74712e5fdefcf3ebfe0c67e gunicorn-registry stdout | 2025-09-26 08:36:25,937 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,938 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,938 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,944 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:25,944 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8a8j-1rl0so-7c5', 'x-amz-id-2': 'mg0l8a8j-1rl0so-7c5', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:25,944 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:25,944 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,944 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,944 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,944 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:25,944 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:25,945 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1 gunicorn-registry stdout | 2025-09-26 08:36:25,945 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:25,945 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:25,946 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:25,946 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:25,946 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,946 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,946 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,946 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,946 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,946 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,946 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,946 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,946 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,946 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,946 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,946 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,946 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,947 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,947 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,947 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,947 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,947 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,947 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,947 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,947 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,947 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:25,947 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ac7d30cfe9848ac1a26dea39c10bbb45de5e4b226837c427fc20611825786459 gunicorn-registry stdout | 2025-09-26 08:36:25,947 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 7fa66afd6e96ea57fdca87c53a7fa6b33b3f26698a91cfdee6f9aadd1bbba906 gunicorn-registry stdout | 2025-09-26 08:36:25,947 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,947 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,947 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,948 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,952 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:25,953 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8a8t-1x663k-3b0', 'x-amz-id-2': 'mg0l8a8t-1x663k-3b0', 'ETag': '"310f5a4e36420ce21e3b62449ba49edd-2"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '10012625', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:25,953 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:25,953 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,953 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,953 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,953 [257] [DEBUG] [s3transfer.futures] Submitting task CreateMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:25,953 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:25,953 [257] [DEBUG] [s3transfer.tasks] CreateMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:25,954 [257] [DEBUG] [s3transfer.tasks] CreateMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:25,954 [257] [DEBUG] [s3transfer.tasks] Executing task CreateMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'extra_args': {}}) with kwargs {'client': , 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'extra_args': {}} gunicorn-registry stdout | 2025-09-26 08:36:25,954 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,954 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,954 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,954 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,954 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,954 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,955 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,955 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,955 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,955 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,955 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,955 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,956 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,956 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,956 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,956 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,956 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,956 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,956 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,956 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,956 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,957 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,957 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1 gunicorn-registry stdout | uploads= gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:25,957 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | f8823f517e409c4300a7a70ca55507190a439fe4a40085e1ff3e20757dbc2fde gunicorn-registry stdout | 2025-09-26 08:36:25,957 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | d51afe9a64dbb6e45f7841e3519de5b341ff15fb190e53cf604ef7ff0ac25428 gunicorn-registry stdout | 2025-09-26 08:36:25,957 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,957 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,957 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,957 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,958 [257] [DEBUG] [s3transfer.futures] Submitting task CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'part_number': 1, 'extra_args': {'CopySourceRange': 'bytes=0-8388607'}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:25,958 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:25,958 [257] [DEBUG] [s3transfer.tasks] CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'part_number': 1, 'extra_args': {'CopySourceRange': 'bytes=0-8388607'}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:25,958 [257] [DEBUG] [s3transfer.tasks] CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'part_number': 1, 'extra_args': {'CopySourceRange': 'bytes=0-8388607'}}) about to wait for gunicorn-registry stdout | 2025-09-26 08:36:25,958 [257] [DEBUG] [s3transfer.futures] Submitting task CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'part_number': 2, 'extra_args': {'CopySourceRange': 'bytes=8388608-10012624'}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:25,958 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:25,958 [257] [DEBUG] [s3transfer.tasks] CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'part_number': 2, 'extra_args': {'CopySourceRange': 'bytes=8388608-10012624'}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:25,958 [257] [DEBUG] [s3transfer.tasks] CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'part_number': 2, 'extra_args': {'CopySourceRange': 'bytes=8388608-10012624'}}) about to wait for gunicorn-registry stdout | 2025-09-26 08:36:25,959 [257] [DEBUG] [s3transfer.futures] Submitting task CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:25,959 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:25,959 [257] [DEBUG] [s3transfer.tasks] CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'extra_args': {}}) about to wait for the following futures [, , ] gunicorn-registry stdout | 2025-09-26 08:36:25,959 [257] [DEBUG] [s3transfer.tasks] CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'extra_args': {}}) about to wait for gunicorn-registry stdout | 2025-09-26 08:36:25,959 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:25,964 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1?uploads HTTP/1.1" 200 368 gunicorn-registry stdout | 2025-09-26 08:36:25,964 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8a94-23pow3-11kf', 'x-amz-id-2': 'mg0l8a94-23pow3-11kf', 'Content-Type': 'application/xml', 'Content-Length': '368', 'Date': 'Fri, 26 Sep 2025 08:36:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:25,964 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f168d65089d73ec60008f932d8' gunicorn-registry stdout | 2025-09-26 08:36:25,965 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,965 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:25,965 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,965 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:25,965 [257] [DEBUG] [s3transfer.tasks] CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'part_number': 1, 'extra_args': {'CopySourceRange': 'bytes=0-8388607'}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:25,965 [257] [DEBUG] [s3transfer.tasks] Executing task CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'part_number': 1, 'extra_args': {'CopySourceRange': 'bytes=0-8388607'}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'part_number': 1, 'extra_args': {'CopySourceRange': 'bytes=0-8388607'}, 'callbacks': [], 'size': 8388608, 'checksum_algorithm': None, 'upload_id': '68d65089d73ec60008f932d8'} gunicorn-registry stdout | 2025-09-26 08:36:25,966 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,966 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,966 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,966 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,966 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,966 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,966 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,966 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,966 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,966 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,966 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,966 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,966 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,967 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,967 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,967 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,967 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPartCopy) with params: {'url_path': '/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'query_string': {'uploadId': '68d65089d73ec60008f932d8', 'partNumber': 1}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'x-amz-copy-source-range': 'bytes=0-8388607', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1?uploadId=68d65089d73ec60008f932d8&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'UploadId': '68d65089d73ec60008f932d8', 'PartNumber': 1, 'CopySourceRange': 'bytes=0-8388607'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,967 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,967 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,967 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,967 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,967 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,968 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,968 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1 gunicorn-registry stdout | partNumber=1&uploadId=68d65089d73ec60008f932d8 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887 gunicorn-registry stdout | x-amz-copy-source-range:bytes=0-8388607 gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-copy-source-range;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:25,968 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 3ff43274a01d3781214442526b65318cac77b4a771bf6dde7f51ab6dd6f94e29 gunicorn-registry stdout | 2025-09-26 08:36:25,968 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | d78aea8eab34780015dcc46ff4e4c1a1b1078476cc56dbab2ef4c4381ebe4bba gunicorn-registry stdout | 2025-09-26 08:36:25,968 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,968 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,968 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,968 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,968 [257] [DEBUG] [s3transfer.tasks] CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'part_number': 2, 'extra_args': {'CopySourceRange': 'bytes=8388608-10012624'}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:25,969 [257] [DEBUG] [s3transfer.tasks] Executing task CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'part_number': 2, 'extra_args': {'CopySourceRange': 'bytes=8388608-10012624'}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'part_number': 2, 'extra_args': {'CopySourceRange': 'bytes=8388608-10012624'}, 'callbacks': [], 'size': 1624017, 'checksum_algorithm': None, 'upload_id': '68d65089d73ec60008f932d8'} gunicorn-registry stdout | 2025-09-26 08:36:25,969 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,969 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,969 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,969 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,969 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,969 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,969 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,969 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,969 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,969 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:25,969 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:25,969 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:25,969 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:25,969 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,969 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,969 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,969 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPartCopy) with params: {'url_path': '/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'query_string': {'uploadId': '68d65089d73ec60008f932d8', 'partNumber': 2}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'x-amz-copy-source-range': 'bytes=8388608-10012624', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1?uploadId=68d65089d73ec60008f932d8&partNumber=2', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'UploadId': '68d65089d73ec60008f932d8', 'PartNumber': 2, 'CopySourceRange': 'bytes=8388608-10012624'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:25,969 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,970 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,970 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:25,970 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,970 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,970 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:25,970 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1 gunicorn-registry stdout | partNumber=2&uploadId=68d65089d73ec60008f932d8 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/42f520c6-cd77-4664-8a01-e2edb4f64887 gunicorn-registry stdout | x-amz-copy-source-range:bytes=8388608-10012624 gunicorn-registry stdout | x-amz-date:20250926T083625Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-copy-source-range;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:25,970 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083625Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | b1a6ee5040bd6a039b5ea67371687679f607e5a009d725ae679d9b8701a7b998 gunicorn-registry stdout | 2025-09-26 08:36:25,970 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | f9243a0bf0c5fc0c5c9bfcf5e851edc6d6517a1b34e3955f20037757a2ba2113 gunicorn-registry stdout | 2025-09-26 08:36:25,970 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,970 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:25,970 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:25,970 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:25,971 [257] [DEBUG] [s3transfer.tasks] CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'extra_args': {}}) about to wait for gunicorn-registry stdout | 2025-09-26 08:36:25,971 [257] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (2): s3.openshift-storage.svc.cluster.local:443 gunicorn-registry stdout | 2025-09-26 08:36:26,022 [253] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploadId=68d65088d73ec60008f93298&partNumber=3 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:26,022 [253] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8a56-gavr1r-i7j', 'x-amz-id-2': 'mg0l8a56-gavr1r-i7j', 'ETag': '"478c6a132f5a45eacd6ed1b598ae20ec"', 'Date': 'Fri, 26 Sep 2025 08:36:26 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:26,022 [253] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:26,022 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,023 [253] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:26,023 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:26,023 [253] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8a56-gavr1r-i7j', 'HostId': 'mg0l8a56-gavr1r-i7j', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8a56-gavr1r-i7j', 'x-amz-id-2': 'mg0l8a56-gavr1r-i7j', 'etag': '"478c6a132f5a45eacd6ed1b598ae20ec"', 'date': 'Fri, 26 Sep 2025 08:36:26 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"478c6a132f5a45eacd6ed1b598ae20ec"'} gunicorn-registry stdout | 2025-09-26 08:36:26,163 [253] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:26,163 [253] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:26,163 [253] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'UploadId': '68d65088d73ec60008f93298', 'PartNumber': 4, 'Body': <_io.BytesIO object at 0x7fc50dc19120>, 'ContentLength': 5242880} gunicorn-registry stdout | 2025-09-26 08:36:26,163 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,164 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,164 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,164 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,164 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:26,164 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,164 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,164 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:26,164 [253] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:26,164 [253] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:26,164 [253] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:26,164 [253] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:26,164 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,175 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,175 [253] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:26,175 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,175 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,175 [253] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'query_string': {'uploadId': '68d65088d73ec60008f93298', 'partNumber': 4}, 'method': 'PUT', 'headers': {'Content-Length': '5242880', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': '/yrQcxY0lIkWtNe0Ahyaew==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc19120>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploadId=68d65088d73ec60008f93298&partNumber=4', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'UploadId': '68d65088d73ec60008f93298', 'PartNumber': 4, 'Body': <_io.BytesIO object at 0x7fc50dc19120>, 'ContentLength': 5242880}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:26,175 [253] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:26,175 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:26,175 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,175 [253] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,175 [253] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:26,175 [253] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0 gunicorn-registry stdout | partNumber=4&uploadId=68d65088d73ec60008f93298 gunicorn-registry stdout | content-length:5242880 gunicorn-registry stdout | content-md5:/yrQcxY0lIkWtNe0Ahyaew== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083626Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:26,175 [253] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083626Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | e69861a970e4bf9513b9c5e989a536b5034b2561c387c61d0a930dbffd2b8ad7 gunicorn-registry stdout | 2025-09-26 08:36:26,175 [253] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 69f88816fcc2b3e03a5d6433b0461b0bad540b3f9ac7af47063637c2b3525277 gunicorn-registry stdout | 2025-09-26 08:36:26,176 [253] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,176 [253] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:26,176 [253] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:26,177 [253] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:26,333 [253] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. repositoryactioncounter stdout | 2025-09-26 08:36:26,355 [80] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositoryactioncounter.py', 'pid': '80'} notificationworker stdout | 2025-09-26 08:36:26,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:36:26,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:34.441526+00:00 (in 8.000951 seconds) notificationworker stdout | 2025-09-26 08:36:26,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:36 GMT)" (scheduled at 2025-09-26 08:36:26.440077+00:00) notificationworker stdout | 2025-09-26 08:36:26,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:36:26,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 36, 26, 440993), True, datetime.datetime(2025, 9, 26, 8, 36, 26, 440993), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:36:26,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:36:26,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:36:26,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:36 GMT)" executed successfully expiredappspecifictokenworker stdout | 2025-09-26 08:36:26,460 [55] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'expiredappspecifictokenworker.py', 'pid': '55'} gunicorn-web stdout | 2025-09-26 08:36:26,501 [240] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '240'} gunicorn-web stdout | 2025-09-26 08:36:26,507 [239] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '239'} gunicorn-web stdout | 2025-09-26 08:36:26,582 [242] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '242'} gunicorn-web stdout | 2025-09-26 08:36:26,585 [61] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '61'} gunicorn-web stdout | 2025-09-26 08:36:26,590 [241] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '241'} builder stdout | 2025-09-26 08:36:26,772 [51] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'builder.py', 'pid': '51'} gunicorn-registry stdout | 2025-09-26 08:36:26,784 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1?uploadId=68d65089d73ec60008f932d8&partNumber=2 HTTP/1.1" 200 229 gunicorn-registry stdout | 2025-09-26 08:36:26,785 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8aaa-2spqv9-ryh', 'x-amz-id-2': 'mg0l8aaa-2spqv9-ryh', 'ETag': '"0ec510a47b4bc8caa20ce1667ee7cc01"', 'Content-Type': 'application/xml', 'Content-Length': '229', 'Date': 'Fri, 26 Sep 2025 08:36:26 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:26,785 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:26.000Z"0ec510a47b4bc8caa20ce1667ee7cc01"' gunicorn-registry stdout | 2025-09-26 08:36:26,788 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,788 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,788 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:26,788 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:26,789 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:26,865 [253] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploadId=68d65088d73ec60008f93298&partNumber=4 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:26,865 [253] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ajh-8a0a74-ypk', 'x-amz-id-2': 'mg0l8ajh-8a0a74-ypk', 'ETag': '"ff2ad0731634948916b4d7b4021c9a7b"', 'Date': 'Fri, 26 Sep 2025 08:36:26 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:26,865 [253] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:26,865 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,865 [253] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:26,865 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:26,866 [253] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8ajh-8a0a74-ypk', 'HostId': 'mg0l8ajh-8a0a74-ypk', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ajh-8a0a74-ypk', 'x-amz-id-2': 'mg0l8ajh-8a0a74-ypk', 'etag': '"ff2ad0731634948916b4d7b4021c9a7b"', 'date': 'Fri, 26 Sep 2025 08:36:26 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"ff2ad0731634948916b4d7b4021c9a7b"'} gunicorn-registry stdout | 2025-09-26 08:36:26,898 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1?uploadId=68d65089d73ec60008f932d8&partNumber=1 HTTP/1.1" 200 229 gunicorn-registry stdout | 2025-09-26 08:36:26,899 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8a9g-2av5b3-uzw', 'x-amz-id-2': 'mg0l8a9g-2av5b3-uzw', 'ETag': '"0d5b9a1cabafd773b624d546c8e4e64d"', 'Content-Type': 'application/xml', 'Content-Length': '229', 'Date': 'Fri, 26 Sep 2025 08:36:26 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:26,899 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:26.000Z"0d5b9a1cabafd773b624d546c8e4e64d"' gunicorn-registry stdout | 2025-09-26 08:36:26,899 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,899 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,899 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:26,899 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:26,899 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:26,900 [257] [DEBUG] [s3transfer.tasks] CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'extra_args': {}}) about to wait for gunicorn-registry stdout | 2025-09-26 08:36:26,900 [257] [DEBUG] [s3transfer.tasks] CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:26,900 [257] [DEBUG] [s3transfer.tasks] Executing task CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'extra_args': {}}) with kwargs {'client': , 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'extra_args': {}, 'upload_id': '68d65089d73ec60008f932d8', 'parts': [{'ETag': '"0d5b9a1cabafd773b624d546c8e4e64d"', 'PartNumber': 1}, {'ETag': '"0ec510a47b4bc8caa20ce1667ee7cc01"', 'PartNumber': 2}]} gunicorn-registry stdout | 2025-09-26 08:36:26,900 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,900 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,900 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,900 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:26,900 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,900 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,900 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:26,901 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:26,901 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:26,901 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:26,901 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:26,902 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,902 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,902 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,902 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'query_string': {'uploadId': '68d65089d73ec60008f932d8'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'"0d5b9a1cabafd773b624d546c8e4e64d"1"0ec510a47b4bc8caa20ce1667ee7cc01"2', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1?uploadId=68d65089d73ec60008f932d8', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'UploadId': '68d65089d73ec60008f932d8', 'MultipartUpload': {'Parts': [{'ETag': '"0d5b9a1cabafd773b624d546c8e4e64d"', 'PartNumber': 1}, {'ETag': '"0ec510a47b4bc8caa20ce1667ee7cc01"', 'PartNumber': 2}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:26,902 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,902 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:26,903 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:26,903 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,903 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,903 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:26,903 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1 gunicorn-registry stdout | uploadId=68d65089d73ec60008f932d8 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:84dcc6360d45cacee30702c81173c7a976a25a6ca9c0ce93eaa55abe417f604c gunicorn-registry stdout | x-amz-date:20250926T083626Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 84dcc6360d45cacee30702c81173c7a976a25a6ca9c0ce93eaa55abe417f604c gunicorn-registry stdout | 2025-09-26 08:36:26,903 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083626Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 682ee34e481dbdf09237ab57f96b0a1b85f62cf925f851b91826c32b68115e03 gunicorn-registry stdout | 2025-09-26 08:36:26,903 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 7d920be5198e0bc68129105619f293e15b1ffa8cb393d9b14399d81f0431ca39 gunicorn-registry stdout | 2025-09-26 08:36:26,903 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,903 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,904 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:26,904 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:26,925 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1?uploadId=68d65089d73ec60008f932d8 HTTP/1.1" 200 585 gunicorn-registry stdout | 2025-09-26 08:36:26,925 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8aze-17k4xm-8l4', 'x-amz-id-2': 'mg0l8aze-17k4xm-8l4', 'Content-Type': 'application/xml', 'Content-Length': '585', 'Date': 'Fri, 26 Sep 2025 08:36:26 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:26,925 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1"598e7bacf904ab83efe444dc0891291d-2"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1?uploadId=68d65089d73ec60008f932d8' gunicorn-registry stdout | 2025-09-26 08:36:26,925 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,925 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:26,926 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:26,926 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:26,926 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:26,927 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 6aa4c28a-9d56-44d0-93ac-4498d460c199 with digest sha256:a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1 took 0.9822664260864258 seconds gunicorn-registry stdout | 2025-09-26 08:36:26,927 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['6aa4c28a-9d56-44d0-93ac-4498d460c199', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:26,930 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:26,932 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['7a6c7f25-8d9f-4aed-8ba3-600ed78926b1', 10012625, 31964160, True, True, 'sha256:a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1']) gunicorn-registry stdout | 2025-09-26 08:36:26,934 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [5, 9]) gunicorn-registry stdout | 2025-09-26 08:36:26,935 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:26,937 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [1, 5, datetime.datetime(2025, 9, 26, 8, 36, 26, 937094), datetime.datetime(2025, 9, 26, 9, 36, 26, 937077)]) gunicorn-registry stdout | 2025-09-26 08:36:26,938 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [3]) gunicorn-registry stdout | 2025-09-26 08:36:26,942 [257] [DEBUG] [app] Ending request: urn:request:f781483a-3cd0-483a-80f4-3c5d74b23a4c (/v2/quayorg/quayrepo/blobs/uploads/6aa4c28a-9d56-44d0-93ac-4498d460c199) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:f781483a-3cd0-483a-80f4-3c5d74b23a4c', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/uploads/6aa4c28a-9d56-44d0-93ac-4498d460c199?digest=sha256:a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1', 'path': '/v2/quayorg/quayrepo/blobs/uploads/6aa4c28a-9d56-44d0-93ac-4498d460c199', 'parameters': {'digest': 'sha256:a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:26,943 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:26,943 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:26,943 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:26 +0000] "PUT /v2/quayorg/quayrepo/blobs/uploads/6aa4c28a-9d56-44d0-93ac-4498d460c199?digest=sha256%3Aa8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:26 +0000] "PUT /v2/quayorg/quayrepo/blobs/uploads/6aa4c28a-9d56-44d0-93ac-4498d460c199?digest=sha256%3Aa8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (1.086 1857 1.086) gunicorn-registry stdout | 2025-09-26 08:36:27,003 [253] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:27,003 [253] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:27,003 [253] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'UploadId': '68d65088d73ec60008f93298', 'PartNumber': 5, 'Body': <_io.BytesIO object at 0x7fc50f4136f0>, 'ContentLength': 5242880} gunicorn-registry stdout | 2025-09-26 08:36:27,003 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,004 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,004 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,004 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,004 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,004 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,004 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,004 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,004 [253] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:27,004 [253] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:27,004 [253] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:27,004 [253] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:27,004 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,015 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,015 [253] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:27,015 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,015 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,015 [253] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'query_string': {'uploadId': '68d65088d73ec60008f93298', 'partNumber': 5}, 'method': 'PUT', 'headers': {'Content-Length': '5242880', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'Eyt7cq+VrxWbdsccFxcy0g==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50f4136f0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploadId=68d65088d73ec60008f93298&partNumber=5', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'UploadId': '68d65088d73ec60008f93298', 'PartNumber': 5, 'Body': <_io.BytesIO object at 0x7fc50f4136f0>, 'ContentLength': 5242880}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:27,015 [253] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,015 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,015 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,015 [253] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,016 [253] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:27,016 [253] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0 gunicorn-registry stdout | partNumber=5&uploadId=68d65088d73ec60008f93298 gunicorn-registry stdout | content-length:5242880 gunicorn-registry stdout | content-md5:Eyt7cq+VrxWbdsccFxcy0g== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083627Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:27,016 [253] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083627Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | f3cd0bfab33941bc5173f56398f28f5368a52b89339a79ccd7b6032a6fffc8ce gunicorn-registry stdout | 2025-09-26 08:36:27,016 [253] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 7595ae708bd43c1247ce6841e9e95f015a29d72a719b65122c3ad57ee12e779f gunicorn-registry stdout | 2025-09-26 08:36:27,016 [253] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,016 [253] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:27,016 [253] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:27,017 [253] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:27,017 [253] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:36:27,191 [253] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploadId=68d65088d73ec60008f93298&partNumber=5 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:27,191 [253] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8b2h-32426q-16bm', 'x-amz-id-2': 'mg0l8b2h-32426q-16bm', 'ETag': '"132b7b72af95af159b76c71c171732d2"', 'Date': 'Fri, 26 Sep 2025 08:36:27 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:27,191 [253] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:27,192 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,192 [253] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:27,192 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,192 [253] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8b2h-32426q-16bm', 'HostId': 'mg0l8b2h-32426q-16bm', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8b2h-32426q-16bm', 'x-amz-id-2': 'mg0l8b2h-32426q-16bm', 'etag': '"132b7b72af95af159b76c71c171732d2"', 'date': 'Fri, 26 Sep 2025 08:36:27 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"132b7b72af95af159b76c71c171732d2"'} securityworker stdout | 2025-09-26 08:36:27,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:36:27,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:49.334273+00:00 (in 21.998309 seconds) securityworker stdout | 2025-09-26 08:36:27,336 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:57 GMT)" (scheduled at 2025-09-26 08:36:27.335452+00:00) securityworker stdout | 2025-09-26 08:36:27,336 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:36:27,336 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state gunicorn-registry stdout | 2025-09-26 08:36:27,337 [253] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:27,337 [253] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:27,337 [253] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'UploadId': '68d65088d73ec60008f93298', 'PartNumber': 6, 'Body': <_io.BytesIO object at 0x7fc50dc1b1f0>, 'ContentLength': 5242880} gunicorn-registry stdout | 2025-09-26 08:36:27,337 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,337 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,337 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,337 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,337 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,337 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,337 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,337 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,338 [253] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:27,338 [253] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:27,338 [253] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:27,338 [253] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:27,338 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler securityworker stdout | 2025-09-26 08:36:27,339 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:36:27,341 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:27,348 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,348 [253] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:27,348 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,348 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,349 [253] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'query_string': {'uploadId': '68d65088d73ec60008f93298', 'partNumber': 6}, 'method': 'PUT', 'headers': {'Content-Length': '5242880', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'L3L8rMfzaxxMvFNeJRElxw==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc1b1f0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploadId=68d65088d73ec60008f93298&partNumber=6', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'UploadId': '68d65088d73ec60008f93298', 'PartNumber': 6, 'Body': <_io.BytesIO object at 0x7fc50dc1b1f0>, 'ContentLength': 5242880}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:27,349 [253] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,349 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,349 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,349 [253] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,349 [253] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:27,349 [253] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0 gunicorn-registry stdout | partNumber=6&uploadId=68d65088d73ec60008f93298 gunicorn-registry stdout | content-length:5242880 gunicorn-registry stdout | content-md5:L3L8rMfzaxxMvFNeJRElxw== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083627Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:27,349 [253] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083627Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 3d9156ac4b1adefd1d2ff0bb66709ab045b8f96946029ea5a75d3a3ff751b3d4 gunicorn-registry stdout | 2025-09-26 08:36:27,349 [253] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 93bd8d338806a8150872cc96ff781a5fbb86e375c1fc98eec4f89dcedf8af76b gunicorn-registry stdout | 2025-09-26 08:36:27,349 [253] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,349 [253] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:27,350 [253] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:27,350 [253] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:27,351 [253] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. securityworker stdout | 2025-09-26 08:36:27,354 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:36:27,354 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:36:27,354 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:36:27,354 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:36:27,356 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 2]) securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:36:27,360 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:36:27,360 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:36:27,360 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:36:27,360 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:36:27,360 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:36:27,360 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:36:27,360 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:36:27,360 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:36:27,360 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:36:27,360 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:36:27,360 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:36:27,361 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 31, 27, 341620), 1, 2]) securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:36:27,364 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:36:27,364 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:36:27,364 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:36:27,364 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:36:27,364 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:36:27,364 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:36:27,364 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:36:27,364 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stdout | 2025-09-26 08:36:27,364 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-2 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:36:27,364 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:36:27,364 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:36:27,365 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 31, 27, 341620), 1, 2]) securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:36:27,369 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-2 by worker securityworker stdout | 2025-09-26 08:36:27,369 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stdout | 2025-09-26 08:36:27,369 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:36:27,369 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stdout | 2025-09-26 08:36:27,369 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:36:27,369 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stdout | 2025-09-26 08:36:27,369 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:36:27,369 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-2 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 2 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] Total range: 2-1 securityworker stderr | 2025-09-26 08:36:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:36:27,369 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:36:57 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:36:27,539 [253] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploadId=68d65088d73ec60008f93298&partNumber=6 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:27,540 [253] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8bbr-8knoc2-1zp', 'x-amz-id-2': 'mg0l8bbr-8knoc2-1zp', 'ETag': '"2f72fcacc7f36b1c4cbc535e251125c7"', 'Date': 'Fri, 26 Sep 2025 08:36:27 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:27,540 [253] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:27,540 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,540 [253] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:27,540 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,540 [253] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8bbr-8knoc2-1zp', 'HostId': 'mg0l8bbr-8knoc2-1zp', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8bbr-8knoc2-1zp', 'x-amz-id-2': 'mg0l8bbr-8knoc2-1zp', 'etag': '"2f72fcacc7f36b1c4cbc535e251125c7"', 'date': 'Fri, 26 Sep 2025 08:36:27 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"2f72fcacc7f36b1c4cbc535e251125c7"'} gunicorn-registry stdout | 2025-09-26 08:36:27,580 [253] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:27,580 [253] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:27,581 [253] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'UploadId': '68d65088d73ec60008f93298', 'PartNumber': 7, 'Body': <_io.BytesIO object at 0x7fc50dc1ad40>, 'ContentLength': 1283650} gunicorn-registry stdout | 2025-09-26 08:36:27,581 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,581 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,581 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,581 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,581 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,581 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,581 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,581 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,581 [253] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:27,581 [253] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:27,581 [253] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:27,581 [253] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:27,582 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,585 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,585 [253] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:27,585 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,585 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,585 [253] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'query_string': {'uploadId': '68d65088d73ec60008f93298', 'partNumber': 7}, 'method': 'PUT', 'headers': {'Content-Length': '1283650', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'rR/2caCcyJoO7JnDkEBbkg==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc1ad40>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploadId=68d65088d73ec60008f93298&partNumber=7', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'UploadId': '68d65088d73ec60008f93298', 'PartNumber': 7, 'Body': <_io.BytesIO object at 0x7fc50dc1ad40>, 'ContentLength': 1283650}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:27,585 [253] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,585 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,585 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,585 [253] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,585 [253] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:27,585 [253] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0 gunicorn-registry stdout | partNumber=7&uploadId=68d65088d73ec60008f93298 gunicorn-registry stdout | content-length:1283650 gunicorn-registry stdout | content-md5:rR/2caCcyJoO7JnDkEBbkg== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083627Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:27,585 [253] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083627Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | fd8e9a2e0400284a2707fbcc69639aaaf3b4e2f6d26cc60d82cdde6881430c0f gunicorn-registry stdout | 2025-09-26 08:36:27,585 [253] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 4b5556c1c47152253bd85817ec8e44fc879b7096f48d22dfc2bec293c632697b gunicorn-registry stdout | 2025-09-26 08:36:27,585 [253] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,586 [253] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:27,586 [253] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:27,587 [253] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:27,587 [253] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. notificationworker stdout | 2025-09-26 08:36:27,672 [68] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'notificationworker.py', 'pid': '68'} gunicorn-registry stdout | 2025-09-26 08:36:27,712 [253] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploadId=68d65088d73ec60008f93298&partNumber=7 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:27,712 [253] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8bib-chayap-zvy', 'x-amz-id-2': 'mg0l8bib-chayap-zvy', 'ETag': '"ad1ff671a09cc89a0eec99c390405b92"', 'Date': 'Fri, 26 Sep 2025 08:36:27 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:27,712 [253] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:27,713 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,713 [253] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:27,713 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,713 [253] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8bib-chayap-zvy', 'HostId': 'mg0l8bib-chayap-zvy', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8bib-chayap-zvy', 'x-amz-id-2': 'mg0l8bib-chayap-zvy', 'etag': '"ad1ff671a09cc89a0eec99c390405b92"', 'date': 'Fri, 26 Sep 2025 08:36:27 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"ad1ff671a09cc89a0eec99c390405b92"'} gunicorn-registry stdout | 2025-09-26 08:36:27,713 [253] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'UploadId': '68d65088d73ec60008f93298', 'MultipartUpload': {'Parts': [{'ETag': '"69d6bd5472fb27544ab3f93bbb98a64f"', 'PartNumber': 1}, {'ETag': '"e2d4906d2b1c4ce17d9e2eaf40f00835"', 'PartNumber': 2}, {'ETag': '"478c6a132f5a45eacd6ed1b598ae20ec"', 'PartNumber': 3}, {'ETag': '"ff2ad0731634948916b4d7b4021c9a7b"', 'PartNumber': 4}, {'ETag': '"132b7b72af95af159b76c71c171732d2"', 'PartNumber': 5}, {'ETag': '"2f72fcacc7f36b1c4cbc535e251125c7"', 'PartNumber': 6}, {'ETag': '"ad1ff671a09cc89a0eec99c390405b92"', 'PartNumber': 7}]}} gunicorn-registry stdout | 2025-09-26 08:36:27,713 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,713 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,713 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,714 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,714 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,714 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,714 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,714 [253] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:27,714 [253] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:27,714 [253] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:27,714 [253] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:27,715 [253] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,715 [253] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,715 [253] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,715 [253] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'query_string': {'uploadId': '68d65088d73ec60008f93298'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"69d6bd5472fb27544ab3f93bbb98a64f"1"e2d4906d2b1c4ce17d9e2eaf40f00835"2"478c6a132f5a45eacd6ed1b598ae20ec"3"ff2ad0731634948916b4d7b4021c9a7b"4"132b7b72af95af159b76c71c171732d2"5"2f72fcacc7f36b1c4cbc535e251125c7"6"ad1ff671a09cc89a0eec99c390405b92"7', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploadId=68d65088d73ec60008f93298', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'UploadId': '68d65088d73ec60008f93298', 'MultipartUpload': {'Parts': [{'ETag': '"69d6bd5472fb27544ab3f93bbb98a64f"', 'PartNumber': 1}, {'ETag': '"e2d4906d2b1c4ce17d9e2eaf40f00835"', 'PartNumber': 2}, {'ETag': '"478c6a132f5a45eacd6ed1b598ae20ec"', 'PartNumber': 3}, {'ETag': '"ff2ad0731634948916b4d7b4021c9a7b"', 'PartNumber': 4}, {'ETag': '"132b7b72af95af159b76c71c171732d2"', 'PartNumber': 5}, {'ETag': '"2f72fcacc7f36b1c4cbc535e251125c7"', 'PartNumber': 6}, {'ETag': '"ad1ff671a09cc89a0eec99c390405b92"', 'PartNumber': 7}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:27,715 [253] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,716 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,716 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,716 [253] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,716 [253] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:27,716 [253] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0 gunicorn-registry stdout | uploadId=68d65088d73ec60008f93298 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:b11d2f849169a120d6140fb48f476c6d72dad8edd298805acc95dd817fc8e718 gunicorn-registry stdout | x-amz-date:20250926T083627Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | b11d2f849169a120d6140fb48f476c6d72dad8edd298805acc95dd817fc8e718 gunicorn-registry stdout | 2025-09-26 08:36:27,716 [253] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083627Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | b38d20e703cae368e93cd63f32a1b87f6295e17111160c00dad1a9ac28747844 gunicorn-registry stdout | 2025-09-26 08:36:27,716 [253] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b72cd151d768520c8d4eba9b5294e2c6625b077a73ef062eafccc4fa06fc5132 gunicorn-registry stdout | 2025-09-26 08:36:27,716 [253] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,716 [253] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:27,717 [253] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:27,736 [253] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploadId=68d65088d73ec60008f93298 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:36:27,736 [253] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8bly-en091k-adv', 'x-amz-id-2': 'mg0l8bly-en091k-adv', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:36:27 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:27,736 [253] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0"450445e080922348b15a271559eeea52-7"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploadId=68d65088d73ec60008f93298' gunicorn-registry stdout | 2025-09-26 08:36:27,737 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,737 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,737 [253] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:27,737 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,737 [253] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8bly-en091k-adv', 'HostId': 'mg0l8bly-en091k-adv', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8bly-en091k-adv', 'x-amz-id-2': 'mg0l8bly-en091k-adv', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:36:27 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0?uploadId=68d65088d73ec60008f93298', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'ETag': '"450445e080922348b15a271559eeea52-7"'} gunicorn-registry stdout | 2025-09-26 08:36:27,738 [253] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:27,739 [253] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:27,740 [253] [DEBUG] [data.registry_model.blobuploader] Uploaded 32740930 bytes to blob 460ed1f4-ce56-4b2e-9913-73dbd1a1368b took 4.20650577545166 seconds gunicorn-registry stdout | 2025-09-26 08:36:27,741 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['460ed1f4-ce56-4b2e-9913-73dbd1a1368b', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:27,746 [253] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [1, '460ed1f4-ce56-4b2e-9913-73dbd1a1368b', 32740930, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAVT8X7/J4GGTg8Hx67WWbn/4zJM3vtfvvH9F0tWNbX7P0rm/vcxI7OSAAmQwErgFQAA//8BAAD//9nZlG8AKgIAAAAAAAAAALKcDwAAAABRUNwsfUhZlpAWRfCl8KQd6EOsc50seabD99jX8XbkqJRiLg==', 9, '{"chunks": [["uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0", 0, 32740930]]}', 1, 83896832, datetime.datetime(2025, 9, 26, 8, 36, 23, 347241), None, None, 1]) gunicorn-registry stdout | 2025-09-26 08:36:27,752 [253] [DEBUG] [app] Ending request: urn:request:f32d9d69-976c-4af7-b0fa-6695f4596745 (/v2/quayorg/quayrepo/blobs/uploads/460ed1f4-ce56-4b2e-9913-73dbd1a1368b) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:f32d9d69-976c-4af7-b0fa-6695f4596745', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/uploads/460ed1f4-ce56-4b2e-9913-73dbd1a1368b', 'path': '/v2/quayorg/quayrepo/blobs/uploads/460ed1f4-ce56-4b2e-9913-73dbd1a1368b', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:27,752 [253] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:27,752 [253] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:27,753 [253] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:27 +0000] "PATCH /v2/quayorg/quayrepo/blobs/uploads/460ed1f4-ce56-4b2e-9913-73dbd1a1368b HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:27 +0000] "PATCH /v2/quayorg/quayrepo/blobs/uploads/460ed1f4-ce56-4b2e-9913-73dbd1a1368b HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (4.358 32742715 4.357) gunicorn-registry stdout | 2025-09-26 08:36:27,795 [250] [DEBUG] [app] Starting request: urn:request:5603e64a-2f32-4e16-99ff-88de14d6cb01 (/v2/quayorg/quayrepo/blobs/uploads/460ed1f4-ce56-4b2e-9913-73dbd1a1368b) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:27,795 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '460ed1f4-ce56-4b2e-9913-73dbd1a1368b', 'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:27,795 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:27,795 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:27,797 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:27,797 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:27,797 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:27,797 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:27,797 [250] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:27,799 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:27,803 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:27,806 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:27,810 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:27,813 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:27,817 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:27,820 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:27,824 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-registry stdout | 2025-09-26 08:36:27,827 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['460ed1f4-ce56-4b2e-9913-73dbd1a1368b', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:27,831 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:27,831 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:27,832 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:27,833 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:27,833 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/801c4eb3-63a8-4a6b-80cd-79c60fe4eee5', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:27,833 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,833 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,833 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,833 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,833 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,833 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,834 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,834 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,834 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:27,834 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:27,834 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:27,834 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:27,834 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,834 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,834 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,834 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/801c4eb3-63a8-4a6b-80cd-79c60fe4eee5?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/801c4eb3-63a8-4a6b-80cd-79c60fe4eee5', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/801c4eb3-63a8-4a6b-80cd-79c60fe4eee5?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/801c4eb3-63a8-4a6b-80cd-79c60fe4eee5', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:27,835 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,835 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,835 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,835 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,835 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:27,835 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/801c4eb3-63a8-4a6b-80cd-79c60fe4eee5 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083627Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:27,835 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083627Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 93b8f7c3311059f0968ebfe9ba676aa66ffd82ed1f14883e3c9a2c473b2c858a gunicorn-registry stdout | 2025-09-26 08:36:27,835 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 7a73df71fad7c210f48091ff1995eb0cb1c94cbdc60d1fece0ffdcfbb31368dc gunicorn-registry stdout | 2025-09-26 08:36:27,835 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,836 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:27,836 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:27,842 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/801c4eb3-63a8-4a6b-80cd-79c60fe4eee5?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:27,843 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8bpa-366yy-dh5', 'x-amz-id-2': 'mg0l8bpa-366yy-dh5', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:27 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:27,843 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/801c4eb3-63a8-4a6b-80cd-79c60fe4eee568d6508bd73ec60008f9330d' gunicorn-registry stdout | 2025-09-26 08:36:27,843 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,843 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:27,843 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,843 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8bpa-366yy-dh5', 'HostId': 'mg0l8bpa-366yy-dh5', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8bpa-366yy-dh5', 'x-amz-id-2': 'mg0l8bpa-366yy-dh5', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:27 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/801c4eb3-63a8-4a6b-80cd-79c60fe4eee5', 'UploadId': '68d6508bd73ec60008f9330d'} gunicorn-registry stdout | 2025-09-26 08:36:27,843 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:27,844 [250] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/801c4eb3-63a8-4a6b-80cd-79c60fe4eee5', 'UploadId': '68d6508bd73ec60008f9330d'} gunicorn-registry stdout | 2025-09-26 08:36:27,844 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,844 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,845 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,845 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,845 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,845 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,845 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:27,845 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:27,845 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:27,845 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:27,846 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,846 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,846 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,846 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/801c4eb3-63a8-4a6b-80cd-79c60fe4eee5', 'query_string': {'uploadId': '68d6508bd73ec60008f9330d'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/801c4eb3-63a8-4a6b-80cd-79c60fe4eee5', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/801c4eb3-63a8-4a6b-80cd-79c60fe4eee5?uploadId=68d6508bd73ec60008f9330d', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/801c4eb3-63a8-4a6b-80cd-79c60fe4eee5', 'UploadId': '68d6508bd73ec60008f9330d'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:27,846 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,846 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,846 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,846 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,847 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:27,847 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/801c4eb3-63a8-4a6b-80cd-79c60fe4eee5 gunicorn-registry stdout | uploadId=68d6508bd73ec60008f9330d gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083627Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:27,847 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083627Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 77a309f2e4c8cfef9158a78b0d37f7c45dd8b5f09cdb436306415d1bd2ca5a8d gunicorn-registry stdout | 2025-09-26 08:36:27,847 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | f85740fe778c77ff052eb8d1342c941e485bea278769bd10ac38441b701226d7 gunicorn-registry stdout | 2025-09-26 08:36:27,847 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,847 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:27,847 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:27,854 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/801c4eb3-63a8-4a6b-80cd-79c60fe4eee5?uploadId=68d6508bd73ec60008f9330d HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:27,854 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8bpl-9mess-dr5', 'x-amz-id-2': 'mg0l8bpl-9mess-dr5', 'Date': 'Fri, 26 Sep 2025 08:36:27 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:27,854 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:27,854 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,854 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:27,855 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,855 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8bpl-9mess-dr5', 'HostId': 'mg0l8bpl-9mess-dr5', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8bpl-9mess-dr5', 'x-amz-id-2': 'mg0l8bpl-9mess-dr5', 'date': 'Fri, 26 Sep 2025 08:36:27 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:27,855 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 460ed1f4-ce56-4b2e-9913-73dbd1a1368b took 0.02329397201538086 seconds gunicorn-registry stdout | 2025-09-26 08:36:27,855 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['460ed1f4-ce56-4b2e-9913-73dbd1a1368b', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:27,860 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [1, '460ed1f4-ce56-4b2e-9913-73dbd1a1368b', 32740930, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAVT8X7/J4GGTg8Hx67WWbn/4zJM3vtfvvH9F0tWNbX7P0rm/vcxI7OSAAmQwErgFQAA//8BAAD//9nZlG8AKgIAAAAAAAAAALKcDwAAAABRUNwsfUhZlpAWRfCl8KQd6EOsc50seabD99jX8XbkqJRiLg==', 9, '{"chunks": [["uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0", 0, 32740930]]}', 2, 83896832, datetime.datetime(2025, 9, 26, 8, 36, 23, 347241), None, None, 1]) gunicorn-registry stdout | 2025-09-26 08:36:27,864 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:27,864 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:27,864 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:27,865 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:27,865 [250] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3'} gunicorn-registry stdout | 2025-09-26 08:36:27,866 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,866 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,866 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,866 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,866 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,866 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,866 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,866 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:27,866 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:27,866 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:27,866 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:27,866 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,866 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,866 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,866 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:27,866 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,866 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,866 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,866 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,867 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:27,867 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083627Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:27,867 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083627Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 2a4cfa9eeef596b755877c92927ae6a206e88a9eea4e1ee6e04b70d26a94e461 gunicorn-registry stdout | 2025-09-26 08:36:27,867 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | cef14111a44d85fdb47a3280fbc063b9b9cbd7d1d790b635d64f56a83a7beb6e gunicorn-registry stdout | 2025-09-26 08:36:27,867 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,867 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:27,868 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:27,873 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:27,873 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8bq4-lf349-18wo', 'x-amz-id-2': 'mg0l8bq4-lf349-18wo', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:27 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:27,873 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:27,873 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,873 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:27,873 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,874 [250] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:27,874 [250] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:27,874 [250] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3 gunicorn-registry stdout | 2025-09-26 08:36:27,874 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:27,874 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:27,874 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:27,874 [250] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:27,874 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,874 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,875 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,875 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,875 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,875 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,875 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,875 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:27,875 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:27,875 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:27,875 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:27,875 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,875 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,875 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,875 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:27,875 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,875 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,875 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,875 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,875 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,876 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:27,876 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083627Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:27,876 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083627Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 9deffeb5d1ac1563f17aad48df98392bdbd3eae4cf328152d5ca64d766f11498 gunicorn-registry stdout | 2025-09-26 08:36:27,876 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 4ac89058e0b201327d3f59c29c44ca4a35ce93f42d4af508c07a4f912105c587 gunicorn-registry stdout | 2025-09-26 08:36:27,876 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,876 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,876 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:27,876 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:27,880 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:27,880 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8bqd-qksva-1c4k', 'x-amz-id-2': 'mg0l8bqd-qksva-1c4k', 'ETag': '"450445e080922348b15a271559eeea52-7"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:27 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '32740930', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:27 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:27,880 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:27,881 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,881 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:27,881 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,881 [250] [DEBUG] [s3transfer.futures] Submitting task CreateMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:27,881 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:27,881 [250] [DEBUG] [s3transfer.tasks] CreateMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:27,881 [250] [DEBUG] [s3transfer.tasks] CreateMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:27,882 [250] [DEBUG] [s3transfer.tasks] Executing task CreateMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'extra_args': {}}) with kwargs {'client': , 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'extra_args': {}} gunicorn-registry stdout | 2025-09-26 08:36:27,882 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,882 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,882 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,882 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,882 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,882 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,882 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,883 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,883 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:27,883 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:27,884 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:27,884 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:27,884 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,884 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,884 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,884 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:27,884 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,884 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,884 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,884 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,885 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,885 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:27,885 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3 gunicorn-registry stdout | uploads= gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083627Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:27,885 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083627Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | abf74975b9c89a3ac2fffafe793a6be01896850574d9c199a43f888cf41a3b43 gunicorn-registry stdout | 2025-09-26 08:36:27,885 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 06d6f357b5c9b1dbf3b7856d873c0f817565525763a3d7a21403fde43d8c3fbc gunicorn-registry stdout | 2025-09-26 08:36:27,885 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,885 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,885 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:27,885 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:27,886 [250] [DEBUG] [s3transfer.futures] Submitting task CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 1, 'extra_args': {'CopySourceRange': 'bytes=0-8388607'}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:27,886 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:27,886 [250] [DEBUG] [s3transfer.tasks] CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 1, 'extra_args': {'CopySourceRange': 'bytes=0-8388607'}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:27,886 [250] [DEBUG] [s3transfer.tasks] CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 1, 'extra_args': {'CopySourceRange': 'bytes=0-8388607'}}) about to wait for gunicorn-registry stdout | 2025-09-26 08:36:27,886 [250] [DEBUG] [s3transfer.futures] Submitting task CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 2, 'extra_args': {'CopySourceRange': 'bytes=8388608-16777215'}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:27,886 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:27,886 [250] [DEBUG] [s3transfer.tasks] CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 2, 'extra_args': {'CopySourceRange': 'bytes=8388608-16777215'}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:27,886 [250] [DEBUG] [s3transfer.tasks] CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 2, 'extra_args': {'CopySourceRange': 'bytes=8388608-16777215'}}) about to wait for gunicorn-registry stdout | 2025-09-26 08:36:27,887 [250] [DEBUG] [s3transfer.futures] Submitting task CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 3, 'extra_args': {'CopySourceRange': 'bytes=16777216-25165823'}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:27,887 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:27,887 [250] [DEBUG] [s3transfer.tasks] CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 3, 'extra_args': {'CopySourceRange': 'bytes=16777216-25165823'}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:27,887 [250] [DEBUG] [s3transfer.tasks] CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 3, 'extra_args': {'CopySourceRange': 'bytes=16777216-25165823'}}) about to wait for gunicorn-registry stdout | 2025-09-26 08:36:27,887 [250] [DEBUG] [s3transfer.futures] Submitting task CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 4, 'extra_args': {'CopySourceRange': 'bytes=25165824-32740929'}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:27,887 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:27,887 [250] [DEBUG] [s3transfer.tasks] CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 4, 'extra_args': {'CopySourceRange': 'bytes=25165824-32740929'}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:27,887 [250] [DEBUG] [s3transfer.tasks] CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 4, 'extra_args': {'CopySourceRange': 'bytes=25165824-32740929'}}) about to wait for gunicorn-registry stdout | 2025-09-26 08:36:27,887 [250] [DEBUG] [s3transfer.futures] Submitting task CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:27,887 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:27,887 [250] [DEBUG] [s3transfer.tasks] CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'extra_args': {}}) about to wait for the following futures [, , , , ] gunicorn-registry stdout | 2025-09-26 08:36:27,888 [250] [DEBUG] [s3transfer.tasks] CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'extra_args': {}}) about to wait for gunicorn-registry stdout | 2025-09-26 08:36:27,888 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:27,893 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3?uploads HTTP/1.1" 200 368 gunicorn-registry stdout | 2025-09-26 08:36:27,893 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8bqo-x6v17-7u2', 'x-amz-id-2': 'mg0l8bqo-x6v17-7u2', 'Content-Type': 'application/xml', 'Content-Length': '368', 'Date': 'Fri, 26 Sep 2025 08:36:27 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:27,893 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d368d6508bd73ec60008f9330e' gunicorn-registry stdout | 2025-09-26 08:36:27,893 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,893 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:27,894 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,894 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:27,894 [250] [DEBUG] [s3transfer.tasks] CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 1, 'extra_args': {'CopySourceRange': 'bytes=0-8388607'}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:27,894 [250] [DEBUG] [s3transfer.tasks] Executing task CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 1, 'extra_args': {'CopySourceRange': 'bytes=0-8388607'}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 1, 'extra_args': {'CopySourceRange': 'bytes=0-8388607'}, 'callbacks': [], 'size': 8388608, 'checksum_algorithm': None, 'upload_id': '68d6508bd73ec60008f9330e'} gunicorn-registry stdout | 2025-09-26 08:36:27,894 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,894 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,894 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,894 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,894 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,894 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,894 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,895 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,895 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,895 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:27,895 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:27,895 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:27,895 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:27,896 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,896 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,896 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,896 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPartCopy) with params: {'url_path': '/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'query_string': {'uploadId': '68d6508bd73ec60008f9330e', 'partNumber': 1}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'x-amz-copy-source-range': 'bytes=0-8388607', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3?uploadId=68d6508bd73ec60008f9330e&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'UploadId': '68d6508bd73ec60008f9330e', 'PartNumber': 1, 'CopySourceRange': 'bytes=0-8388607'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:27,896 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,896 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,896 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,896 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,896 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,897 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:27,897 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3 gunicorn-registry stdout | partNumber=1&uploadId=68d6508bd73ec60008f9330e gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0 gunicorn-registry stdout | x-amz-copy-source-range:bytes=0-8388607 gunicorn-registry stdout | x-amz-date:20250926T083627Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-copy-source-range;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:27,897 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083627Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | a33abb17d41b54f05508251e85fcce07b82e98fb47e5ebb0f29c0914f6b7cb74 gunicorn-registry stdout | 2025-09-26 08:36:27,897 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 55ef0ef27353ecf89218406141c4ea75ef9c00822ba15d7cd229501f868b1d1a gunicorn-registry stdout | 2025-09-26 08:36:27,897 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,897 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,897 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:27,897 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:27,897 [250] [DEBUG] [s3transfer.tasks] CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 2, 'extra_args': {'CopySourceRange': 'bytes=8388608-16777215'}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:27,898 [250] [DEBUG] [s3transfer.tasks] Executing task CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 2, 'extra_args': {'CopySourceRange': 'bytes=8388608-16777215'}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 2, 'extra_args': {'CopySourceRange': 'bytes=8388608-16777215'}, 'callbacks': [], 'size': 8388608, 'checksum_algorithm': None, 'upload_id': '68d6508bd73ec60008f9330e'} gunicorn-registry stdout | 2025-09-26 08:36:27,898 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,898 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,898 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,898 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,898 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,898 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,898 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,898 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,898 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,898 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:27,898 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:27,898 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:27,898 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:27,899 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,899 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,899 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,899 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPartCopy) with params: {'url_path': '/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'query_string': {'uploadId': '68d6508bd73ec60008f9330e', 'partNumber': 2}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'x-amz-copy-source-range': 'bytes=8388608-16777215', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3?uploadId=68d6508bd73ec60008f9330e&partNumber=2', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'UploadId': '68d6508bd73ec60008f9330e', 'PartNumber': 2, 'CopySourceRange': 'bytes=8388608-16777215'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:27,899 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,899 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,899 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,899 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,899 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,899 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:27,899 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3 gunicorn-registry stdout | partNumber=2&uploadId=68d6508bd73ec60008f9330e gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0 gunicorn-registry stdout | x-amz-copy-source-range:bytes=8388608-16777215 gunicorn-registry stdout | x-amz-date:20250926T083627Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-copy-source-range;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:27,899 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083627Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 43da941da6bf3138703df064e9989af43896046502d5a27d606d426b463fc6a4 gunicorn-registry stdout | 2025-09-26 08:36:27,899 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 1a7f8cdf8c8d99d8802e2ef9964b226a1a5b73a174ce45da7db2c1dc85790ed8 gunicorn-registry stdout | 2025-09-26 08:36:27,899 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,899 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,899 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:27,900 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:27,900 [250] [DEBUG] [s3transfer.tasks] CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 3, 'extra_args': {'CopySourceRange': 'bytes=16777216-25165823'}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:27,900 [250] [DEBUG] [s3transfer.tasks] Executing task CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 3, 'extra_args': {'CopySourceRange': 'bytes=16777216-25165823'}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 3, 'extra_args': {'CopySourceRange': 'bytes=16777216-25165823'}, 'callbacks': [], 'size': 8388608, 'checksum_algorithm': None, 'upload_id': '68d6508bd73ec60008f9330e'} gunicorn-registry stdout | 2025-09-26 08:36:27,900 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,900 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,900 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,900 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,900 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,900 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,900 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,900 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,900 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,900 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:27,900 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:27,900 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:27,900 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:27,901 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,901 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,901 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,901 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPartCopy) with params: {'url_path': '/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'query_string': {'uploadId': '68d6508bd73ec60008f9330e', 'partNumber': 3}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'x-amz-copy-source-range': 'bytes=16777216-25165823', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3?uploadId=68d6508bd73ec60008f9330e&partNumber=3', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'UploadId': '68d6508bd73ec60008f9330e', 'PartNumber': 3, 'CopySourceRange': 'bytes=16777216-25165823'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:27,901 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,901 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,901 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,901 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,901 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,902 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:27,902 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3 gunicorn-registry stdout | partNumber=3&uploadId=68d6508bd73ec60008f9330e gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0 gunicorn-registry stdout | x-amz-copy-source-range:bytes=16777216-25165823 gunicorn-registry stdout | x-amz-date:20250926T083627Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-copy-source-range;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:27,902 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083627Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 6778e74d0a2f8ad3c4a18490100481368cfb1ff6ac91bdaddc829c737cbea5a1 gunicorn-registry stdout | 2025-09-26 08:36:27,902 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | e35e595c527375e3670a1108fe2bcddffa199770ef9550ec1c09e52ff1b76265 gunicorn-registry stdout | 2025-09-26 08:36:27,902 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,902 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,902 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:27,902 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:27,902 [250] [DEBUG] [s3transfer.tasks] CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 4, 'extra_args': {'CopySourceRange': 'bytes=25165824-32740929'}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:27,902 [250] [DEBUG] [s3transfer.tasks] Executing task CopyPartTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 4, 'extra_args': {'CopySourceRange': 'bytes=25165824-32740929'}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'part_number': 4, 'extra_args': {'CopySourceRange': 'bytes=25165824-32740929'}, 'callbacks': [], 'size': 7575106, 'checksum_algorithm': None, 'upload_id': '68d6508bd73ec60008f9330e'} gunicorn-registry stdout | 2025-09-26 08:36:27,902 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,902 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPartCopy) with params: {'url_path': '/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'query_string': {'uploadId': '68d6508bd73ec60008f9330e', 'partNumber': 4}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'x-amz-copy-source-range': 'bytes=25165824-32740929', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3?uploadId=68d6508bd73ec60008f9330e&partNumber=4', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'UploadId': '68d6508bd73ec60008f9330e', 'PartNumber': 4, 'CopySourceRange': 'bytes=25165824-32740929'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,903 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,904 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:27,904 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3 gunicorn-registry stdout | partNumber=4&uploadId=68d6508bd73ec60008f9330e gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7f60cec0-8b19-4e63-97e0-3f03867cbfe0 gunicorn-registry stdout | x-amz-copy-source-range:bytes=25165824-32740929 gunicorn-registry stdout | x-amz-date:20250926T083627Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-copy-source-range;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:27,904 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083627Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 956d6366965062710e5e6659e1386c5d4f21d7f6623be840851aa8728bdbccb5 gunicorn-registry stdout | 2025-09-26 08:36:27,904 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 1135229f3486d045681ad0038a9eabe6ddd5abef71f524517a3a2a7313fa4711 gunicorn-registry stdout | 2025-09-26 08:36:27,904 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,904 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:27,904 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:27,904 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:27,904 [250] [DEBUG] [s3transfer.tasks] CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'extra_args': {}}) about to wait for gunicorn-registry stdout | 2025-09-26 08:36:27,905 [250] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (2): s3.openshift-storage.svc.cluster.local:443 gunicorn-registry stdout | 2025-09-26 08:36:27,905 [250] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (3): s3.openshift-storage.svc.cluster.local:443 gunicorn-registry stdout | 2025-09-26 08:36:27,905 [250] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (4): s3.openshift-storage.svc.cluster.local:443 gunicorn-registry stdout | 2025-09-26 08:36:29,606 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3?uploadId=68d6508bd73ec60008f9330e&partNumber=1 HTTP/1.1" 200 229 gunicorn-registry stdout | 2025-09-26 08:36:29,607 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8br6-17swej-dsp', 'x-amz-id-2': 'mg0l8br6-17swej-dsp', 'ETag': '"99c9b2c210b331929b26c7c52344b594"', 'Content-Type': 'application/xml', 'Content-Length': '229', 'Date': 'Fri, 26 Sep 2025 08:36:29 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:29,607 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:29.000Z"99c9b2c210b331929b26c7c52344b594"' gunicorn-registry stdout | 2025-09-26 08:36:29,608 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,608 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,608 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:29,608 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:29,608 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:29,608 [250] [DEBUG] [s3transfer.tasks] CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'extra_args': {}}) about to wait for gunicorn-registry stdout | 2025-09-26 08:36:29,675 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3?uploadId=68d6508bd73ec60008f9330e&partNumber=4 HTTP/1.1" 200 229 gunicorn-registry stdout | 2025-09-26 08:36:29,675 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8bsq-25h3tk-13yf', 'x-amz-id-2': 'mg0l8bsq-25h3tk-13yf', 'ETag': '"0e52de8143d2d8c7292ddb27932eb772"', 'Content-Type': 'application/xml', 'Content-Length': '229', 'Date': 'Fri, 26 Sep 2025 08:36:29 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:29,675 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:29.000Z"0e52de8143d2d8c7292ddb27932eb772"' gunicorn-registry stdout | 2025-09-26 08:36:29,676 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,676 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,676 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:29,676 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:29,676 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:29,728 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3?uploadId=68d6508bd73ec60008f9330e&partNumber=2 HTTP/1.1" 200 229 gunicorn-registry stdout | 2025-09-26 08:36:29,729 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8bss-26dn85-kqe', 'x-amz-id-2': 'mg0l8bss-26dn85-kqe', 'ETag': '"4c3262920297f6c0fc45fd7811356138"', 'Content-Type': 'application/xml', 'Content-Length': '229', 'Date': 'Fri, 26 Sep 2025 08:36:29 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:29,729 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:29.000Z"4c3262920297f6c0fc45fd7811356138"' gunicorn-registry stdout | 2025-09-26 08:36:29,730 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,730 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,730 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:29,730 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:29,730 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:29,730 [250] [DEBUG] [s3transfer.tasks] CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'extra_args': {}}) about to wait for gunicorn-registry stdout | 2025-09-26 08:36:29,757 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3?uploadId=68d6508bd73ec60008f9330e&partNumber=3 HTTP/1.1" 200 229 gunicorn-registry stdout | 2025-09-26 08:36:29,758 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8bso-243qw6-19vl', 'x-amz-id-2': 'mg0l8bso-243qw6-19vl', 'ETag': '"1747005577ff103e150bb98d80e627a7"', 'Content-Type': 'application/xml', 'Content-Length': '229', 'Date': 'Fri, 26 Sep 2025 08:36:29 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:29,758 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:29.000Z"1747005577ff103e150bb98d80e627a7"' gunicorn-registry stdout | 2025-09-26 08:36:29,758 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,758 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPartCopy: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,758 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:29,758 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPartCopy: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:29,758 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:29,758 [250] [DEBUG] [s3transfer.tasks] CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'extra_args': {}}) about to wait for gunicorn-registry stdout | 2025-09-26 08:36:29,758 [250] [DEBUG] [s3transfer.tasks] CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:29,759 [250] [DEBUG] [s3transfer.tasks] Executing task CompleteMultipartUploadTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'extra_args': {}}) with kwargs {'client': , 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'extra_args': {}, 'upload_id': '68d6508bd73ec60008f9330e', 'parts': [{'ETag': '"99c9b2c210b331929b26c7c52344b594"', 'PartNumber': 1}, {'ETag': '"4c3262920297f6c0fc45fd7811356138"', 'PartNumber': 2}, {'ETag': '"1747005577ff103e150bb98d80e627a7"', 'PartNumber': 3}, {'ETag': '"0e52de8143d2d8c7292ddb27932eb772"', 'PartNumber': 4}]} gunicorn-registry stdout | 2025-09-26 08:36:29,759 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,759 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,759 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,759 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:29,759 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,759 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,759 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:29,759 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:29,759 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:29,760 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:29,760 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:29,760 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,760 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,760 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,760 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'query_string': {'uploadId': '68d6508bd73ec60008f9330e'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'"99c9b2c210b331929b26c7c52344b594"1"4c3262920297f6c0fc45fd7811356138"2"1747005577ff103e150bb98d80e627a7"3"0e52de8143d2d8c7292ddb27932eb772"4', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3?uploadId=68d6508bd73ec60008f9330e', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'UploadId': '68d6508bd73ec60008f9330e', 'MultipartUpload': {'Parts': [{'ETag': '"99c9b2c210b331929b26c7c52344b594"', 'PartNumber': 1}, {'ETag': '"4c3262920297f6c0fc45fd7811356138"', 'PartNumber': 2}, {'ETag': '"1747005577ff103e150bb98d80e627a7"', 'PartNumber': 3}, {'ETag': '"0e52de8143d2d8c7292ddb27932eb772"', 'PartNumber': 4}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:29,761 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,761 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:29,761 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:29,761 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,761 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,761 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:29,761 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3 gunicorn-registry stdout | uploadId=68d6508bd73ec60008f9330e gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:f3f30514ac8532460c7606f1ca065b20a69f5da0f3e235f68f1c1b10f946f1d2 gunicorn-registry stdout | x-amz-date:20250926T083629Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | f3f30514ac8532460c7606f1ca065b20a69f5da0f3e235f68f1c1b10f946f1d2 gunicorn-registry stdout | 2025-09-26 08:36:29,761 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083629Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 91e7c154045b621d29f5d3404b1ee8c6e338da45a8f600e90d1dc516483ceeae gunicorn-registry stdout | 2025-09-26 08:36:29,761 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6937ca1c110568f9b3cf28ca94321ae0c3a874331738d997ea7d6c9eb73aee98 gunicorn-registry stdout | 2025-09-26 08:36:29,762 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,762 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,762 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:29,762 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:29,783 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3?uploadId=68d6508bd73ec60008f9330e HTTP/1.1" 200 585 gunicorn-registry stdout | 2025-09-26 08:36:29,784 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8d6r-fe26bk-34e', 'x-amz-id-2': 'mg0l8d6r-fe26bk-34e', 'Content-Type': 'application/xml', 'Content-Length': '585', 'Date': 'Fri, 26 Sep 2025 08:36:29 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:29,784 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3"69113397f4338c7e6d8631ec7ae5de7a-4"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3?uploadId=68d6508bd73ec60008f9330e' gunicorn-registry stdout | 2025-09-26 08:36:29,784 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,784 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:29,784 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:29,784 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:29,785 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:29,785 [250] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 460ed1f4-ce56-4b2e-9913-73dbd1a1368b with digest sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3 took 1.9118435382843018 seconds gunicorn-registry stdout | 2025-09-26 08:36:29,786 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['460ed1f4-ce56-4b2e-9913-73dbd1a1368b', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:29,789 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:29,791 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['53f7e6a1-c1fa-4b76-a4e8-6dc9e980625a', 32740930, 83896832, True, True, 'sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3']) gunicorn-registry stdout | 2025-09-26 08:36:29,793 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [6, 9]) gunicorn-registry stdout | 2025-09-26 08:36:29,794 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:29,796 [250] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [1, 6, datetime.datetime(2025, 9, 26, 8, 36, 29, 796141), datetime.datetime(2025, 9, 26, 9, 36, 29, 796122)]) gunicorn-registry stdout | 2025-09-26 08:36:29,798 [250] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [1]) gunicorn-registry stdout | 2025-09-26 08:36:29,801 [250] [DEBUG] [app] Ending request: urn:request:5603e64a-2f32-4e16-99ff-88de14d6cb01 (/v2/quayorg/quayrepo/blobs/uploads/460ed1f4-ce56-4b2e-9913-73dbd1a1368b) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:5603e64a-2f32-4e16-99ff-88de14d6cb01', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/uploads/460ed1f4-ce56-4b2e-9913-73dbd1a1368b?digest=sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3', 'path': '/v2/quayorg/quayrepo/blobs/uploads/460ed1f4-ce56-4b2e-9913-73dbd1a1368b', 'parameters': {'digest': 'sha256:f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:29,802 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:29,802 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:29,802 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:29 +0000] "PUT /v2/quayorg/quayrepo/blobs/uploads/460ed1f4-ce56-4b2e-9913-73dbd1a1368b?digest=sha256%3Af93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:29 +0000] "PUT /v2/quayorg/quayrepo/blobs/uploads/460ed1f4-ce56-4b2e-9913-73dbd1a1368b?digest=sha256%3Af93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (2.008 1857 2.008) globalpromstats stdout | 2025-09-26 08:36:30,049 [58] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'globalpromstats.py', 'pid': '58'} gunicorn-registry stdout | 2025-09-26 08:36:30,066 [257] [DEBUG] [app] Starting request: urn:request:e6328aa6-e3de-473e-b86d-f99aa6def615 (/v2/quayorg/quayrepo/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:30,066 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:30,066 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:30,066 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:30,067 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:30,067 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:30,067 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:30,067 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:30,067 [257] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:30,068 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:30,072 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:30,076 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:30,080 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:30,083 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:30,087 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:30,091 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-registry stdout | 2025-09-26 08:36:30,094 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:30,098 [257] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [1, 'c2d396f9-8943-44c2-a9d7-4517310cb072', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 30, 98203)]) gunicorn-registry stdout | 2025-09-26 08:36:30,103 [257] [DEBUG] [app] Ending request: urn:request:e6328aa6-e3de-473e-b86d-f99aa6def615 (/v2/quayorg/quayrepo/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:e6328aa6-e3de-473e-b86d-f99aa6def615', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/uploads/', 'path': '/v2/quayorg/quayrepo/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:30,103 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:30,103 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:30,103 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:30 +0000] "POST /v2/quayorg/quayrepo/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:30 +0000] "POST /v2/quayorg/quayrepo/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.038 1701 0.038) gunicorn-registry stdout | 2025-09-26 08:36:30,145 [257] [DEBUG] [app] Starting request: urn:request:f90e283e-d188-445d-b532-110df7ba8a58 (/v2/quayorg/quayrepo/blobs/uploads/c2d396f9-8943-44c2-a9d7-4517310cb072) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:30,145 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'c2d396f9-8943-44c2-a9d7-4517310cb072', 'namespace_name': 'quayorg', 'repo_name': 'quayrepo'} gunicorn-registry stdout | 2025-09-26 08:36:30,145 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:30,145 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzgyLCJpYXQiOjE3NTg4NzU3ODIsImV4cCI6MTc1ODg3OTM4Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicXVheW9yZy9xdWF5cmVwbyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dLCJjb250ZXh0Ijp7InZlcnNpb24iOjIsImVudGl0eV9raW5kIjoidXNlciIsImVudGl0eV9yZWZlcmVuY2UiOiI5Zjc3NmRjZS03MzQ3LTRiNjktOGJkNS0zNjIxMDM0ZGIyM2MiLCJraW5kIjoidXNlciIsInVzZXIiOiJxdWF5IiwiY29tLmFwb3N0aWxsZS5yb290cyI6eyJxdWF5b3JnL3F1YXlyZXBvIjoiJGRpc2FibGVkIn0sImNvbS5hcG9zdGlsbGUucm9vdCI6IiRkaXNhYmxlZCJ9fQ.c0KT_SR1-mRUqc0knZI0GcTEGbuC_IKQwqWylpxvy9wrNfhBDhbgdwuIGNepjcwZTfI13zAKiDiMjJjE41M4YaNfIl1C9g9a7aUBRPudWaoSww8d-xqFYQpLltj-Ip5eG5U-Fqde10W2LmZ2h71iIZsBcg6r_9PaBQIAWx8r4Kq3pKMLEOoy83IkqBej46sSZeJJPI2sJ0M1TSiQuaMsJKv1-LAkchTB6JBIUss1Bpr-_EYbbv4GRbKJ3g8eKkdlNvAd5Q73X5a8pUWpDfMCmP0TJ5eSEB82tkwLObZmDNb0SnKTv00JiJnO31WIPczDJt2lcP_VoQzdytYA9zjWnw gunicorn-registry stdout | 2025-09-26 08:36:30,146 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:30,146 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:30,146 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:30,146 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'quayorg/quayrepo': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:30,146 [257] [DEBUG] [endpoints.v2] Checking permission for repo: quayorg/quayrepo gunicorn-registry stdout | 2025-09-26 08:36:30,147 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['quayorg', 'quayrepo', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:30,151 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:30,155 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:30,159 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:30,163 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:30,167 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:30,171 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:30,174 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-registry stdout | 2025-09-26 08:36:30,178 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['c2d396f9-8943-44c2-a9d7-4517310cb072', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:30,182 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:30,182 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:30,182 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:30,183 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:30,183 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:30,183 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,183 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,183 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,183 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,183 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:30,183 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,183 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,184 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:30,184 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:30,184 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:30,184 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:30,184 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:30,184 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,184 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,184 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,184 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:30,184 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:30,184 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:30,184 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,184 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,184 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:30,185 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083630Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:30,185 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083630Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 45aa0af0ba05cc338fbb06682bcce09b9fb1ae066ad3df986dd7debd851ddb80 gunicorn-registry stdout | 2025-09-26 08:36:30,185 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | d1a0fd13b5f7bbf910b1c4bfc8dcfd369182f92b1d198c43b7d6b9bb47c350a7 gunicorn-registry stdout | 2025-09-26 08:36:30,185 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,185 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:30,185 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:30,191 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:30,192 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8dij-5uzs7r-o75', 'x-amz-id-2': 'mg0l8dij-5uzs7r-o75', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:30 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:30,192 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff68d6508ed73ec60008f93337' gunicorn-registry stdout | 2025-09-26 08:36:30,193 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,193 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:30,193 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:30,193 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8dij-5uzs7r-o75', 'HostId': 'mg0l8dij-5uzs7r-o75', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8dij-5uzs7r-o75', 'x-amz-id-2': 'mg0l8dij-5uzs7r-o75', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:30 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff', 'UploadId': '68d6508ed73ec60008f93337'} gunicorn-registry stdout | 2025-09-26 08:36:30,193 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:30,194 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:30,194 [257] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:30,194 [257] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff', 'UploadId': '68d6508ed73ec60008f93337', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc60bd0>, 'ContentLength': 7698} gunicorn-registry stdout | 2025-09-26 08:36:30,194 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,194 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,194 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,194 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,194 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:30,194 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,194 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,194 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:30,194 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:30,194 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:30,195 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:30,195 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:30,195 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,195 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,195 [257] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:30,195 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,195 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,195 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff', 'query_string': {'uploadId': '68d6508ed73ec60008f93337', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '7698', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'E1ZLl6JmF9ma3cQB0Ydmrg==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc60bd0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff?uploadId=68d6508ed73ec60008f93337&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff', 'UploadId': '68d6508ed73ec60008f93337', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc60bd0>, 'ContentLength': 7698}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:30,195 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:30,195 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:30,195 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,195 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,195 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:30,196 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff gunicorn-registry stdout | partNumber=1&uploadId=68d6508ed73ec60008f93337 gunicorn-registry stdout | content-length:7698 gunicorn-registry stdout | content-md5:E1ZLl6JmF9ma3cQB0Ydmrg== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083630Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:30,196 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083630Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 3d4fa39c87088a31feb0991ac7f3f3262a4e28147331628f5664f389652f4269 gunicorn-registry stdout | 2025-09-26 08:36:30,196 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 5ed4efd065fae9b48d1480e3b43cefecb35f0f83b7e1eed96eb257acf4f43f1a gunicorn-registry stdout | 2025-09-26 08:36:30,196 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,196 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:30,196 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:30,197 [257] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:30,197 [257] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:36:30,278 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff?uploadId=68d6508ed73ec60008f93337&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:30,279 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8dit-611quo-a1f', 'x-amz-id-2': 'mg0l8dit-611quo-a1f', 'ETag': '"13564b97a26617d99addc401d18766ae"', 'Date': 'Fri, 26 Sep 2025 08:36:30 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:30,279 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:30,279 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,279 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:30,279 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:30,279 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8dit-611quo-a1f', 'HostId': 'mg0l8dit-611quo-a1f', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8dit-611quo-a1f', 'x-amz-id-2': 'mg0l8dit-611quo-a1f', 'etag': '"13564b97a26617d99addc401d18766ae"', 'date': 'Fri, 26 Sep 2025 08:36:30 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"13564b97a26617d99addc401d18766ae"'} gunicorn-registry stdout | 2025-09-26 08:36:30,279 [257] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff', 'UploadId': '68d6508ed73ec60008f93337', 'MultipartUpload': {'Parts': [{'ETag': '"13564b97a26617d99addc401d18766ae"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:36:30,279 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,280 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,280 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,280 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:30,280 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,280 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,280 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:30,280 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:30,280 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:30,280 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:30,280 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:30,281 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,281 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,281 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,281 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff', 'query_string': {'uploadId': '68d6508ed73ec60008f93337'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"13564b97a26617d99addc401d18766ae"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff?uploadId=68d6508ed73ec60008f93337', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff', 'UploadId': '68d6508ed73ec60008f93337', 'MultipartUpload': {'Parts': [{'ETag': '"13564b97a26617d99addc401d18766ae"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:30,281 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:30,281 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:30,281 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,281 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,281 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:30,281 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff gunicorn-registry stdout | uploadId=68d6508ed73ec60008f93337 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:755bd00297036fcfc9c60e20f4132cde1ca994b51eaaf9eb0ce2f03752184e2e gunicorn-registry stdout | x-amz-date:20250926T083630Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 755bd00297036fcfc9c60e20f4132cde1ca994b51eaaf9eb0ce2f03752184e2e gunicorn-registry stdout | 2025-09-26 08:36:30,281 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083630Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 19c30d0ff620669ebe74353d78248c0ff18e076c18448429aec8df5dbf63967c gunicorn-registry stdout | 2025-09-26 08:36:30,281 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | df042fc0142485b9325cd6db43c7f8d3d23e44726313d3ac8238f21d83aa043c gunicorn-registry stdout | 2025-09-26 08:36:30,282 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,282 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:30,282 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:30,296 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff?uploadId=68d6508ed73ec60008f93337 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:36:30,296 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8dl7-7g1sih-dj7', 'x-amz-id-2': 'mg0l8dl7-7g1sih-dj7', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:36:30 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:30,296 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff"7d1bc3fb37637dd0a81dabcf72e9bbfc-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff?uploadId=68d6508ed73ec60008f93337' gunicorn-registry stdout | 2025-09-26 08:36:30,296 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,296 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:30,296 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:30,296 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:30,297 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8dl7-7g1sih-dj7', 'HostId': 'mg0l8dl7-7g1sih-dj7', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8dl7-7g1sih-dj7', 'x-amz-id-2': 'mg0l8dl7-7g1sih-dj7', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:36:30 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff?uploadId=68d6508ed73ec60008f93337', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff', 'ETag': '"7d1bc3fb37637dd0a81dabcf72e9bbfc-1"'} gunicorn-registry stdout | 2025-09-26 08:36:30,297 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:30,297 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:30,298 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 7698 bytes to blob c2d396f9-8943-44c2-a9d7-4517310cb072 took 0.11568236351013184 seconds gunicorn-registry stdout | 2025-09-26 08:36:30,298 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['c2d396f9-8943-44c2-a9d7-4517310cb072', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:30,303 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [1, 'c2d396f9-8943-44c2-a9d7-4517310cb072', 7698, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwY2Y0ZWRhMWE2MjY0ZmMiXX19MGFkNmVmODkzZTk5OGY4OGEzNWRjOWNjMjJmOTUyYzYyYjg4ZDU4Zjk0ODM0NBIAAAAAAAAAAPAAAAAAAAAugfcCFXEGHDAKmNf90iCvhMGlCD+up76pGstGS/xLh5RiLg==', 9, '{"chunks": [["uploads/0cf525b7-9c49-4bcc-bb24-f49af9d04cff", 0, 7698]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 36, 30, 98203), None, None, 7]) gunicorn-registry stdout | 2025-09-26 08:36:30,308 [257] [DEBUG] [app] Ending request: urn:request:f90e283e-d188-445d-b532-110df7ba8a58 (/v2/quayorg/quayrepo/blobs/uploads/c2d396f9-8943-44c2-a9d7-4517310cb072) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:f90e283e-d188-445d-b532-110df7ba8a58', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/quayorg/quayrepo/blobs/uploads/c2d396f9-8943-44c2-a9d7-4517310cb072', 'path': '/v2/quayorg/quayrepo/blobs/uploads/c2d396f9-8943-44c2-a9d7-4517310cb072', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:30,308 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:30,308 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:30,308 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:30 +0000] "PATCH /v2/quayorg/quayrepo/blobs/uploads/c2d396f9-8943-44c2-a9d7-4517310cb072 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:30 +0000] "PATCH /v2/quayorg/quayrepo/blobs/uploads/c2d396f9-8943-44c2-a9d7-4517310cb072 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.165 9479 0.164) gunicorn-registry stdout | 2025-09-26 08:36:31,706 [250] [DEBUG] [app] Starting request: urn:request:5c9c520e-fbb1-4061-a7e9-37204ddbeb82 (/v2/auth) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:31,706 [250] [DEBUG] [auth.basic] Attempt to process basic auth header gunicorn-registry stdout | 2025-09-26 08:36:31,707 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) OR ("t1"."email" = %s)) LIMIT %s OFFSET %s', ['quay', 'quay', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,010 [250] [DEBUG] [auth.credentials] Successfully validated credentials for user quay gunicorn-registry stdout | 2025-09-26 08:36:32,011 [250] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-registry stdout | 2025-09-26 08:36:32,011 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:32,011 [250] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-registry stdout | 2025-09-26 08:36:32,012 [250] [DEBUG] [endpoints.v2.v2auth] Request audience: quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com gunicorn-registry stdout | 2025-09-26 08:36:32,012 [250] [DEBUG] [endpoints.v2.v2auth] Scope request: ['repository:testorg/alpine:pull,push'] gunicorn-registry stdout | 2025-09-26 08:36:32,012 [250] [DEBUG] [endpoints.v2.v2auth] Match: ('testorg/alpine', 'testorg/alpine', 'pull,push') gunicorn-registry stdout | 2025-09-26 08:36:32,013 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."username" = %s) LIMIT %s OFFSET %s', ['testorg', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,018 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,022 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."username" = %s) LIMIT %s OFFSET %s', ['testorg', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,025 [250] [DEBUG] [endpoints.v2.v2auth] Creating organization for: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:32,026 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) OR ("t1"."email" = %s)) LIMIT %s OFFSET %s', ['testorg', 'quay+testorg@quay.com', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,029 [250] [DEBUG] [data.model.user] Email and username are unique! gunicorn-registry stdout | 2025-09-26 08:36:32,030 [250] [DEBUG] [peewee] ('INSERT INTO "user" ("uuid", "username", "email", "verified", "organization", "robot", "invoice_email", "invalid_login_attempts", "last_invalid_login", "removed_tag_expiration_s", "enabled", "maximum_queued_builds_count", "creation_date") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "user"."id"', ['bbd92fde-060a-46d4-8109-4a24be631046', 'testorg', 'quay+testorg@quay.com', False, False, False, False, 0, datetime.datetime(2025, 9, 26, 8, 36, 32, 29977), 1209600, True, None, datetime.datetime(2025, 9, 26, 8, 36, 32, 29982)]) gunicorn-registry stdout | 2025-09-26 08:36:32,032 [250] [DEBUG] [peewee] ('UPDATE "user" SET "uuid" = %s, "username" = %s, "email" = %s, "verified" = %s, "organization" = %s, "robot" = %s, "invoice_email" = %s, "invalid_login_attempts" = %s, "last_invalid_login" = %s, "removed_tag_expiration_s" = %s, "enabled" = %s, "maximum_queued_builds_count" = %s, "creation_date" = %s WHERE ("user"."id" = %s)', ['bbd92fde-060a-46d4-8109-4a24be631046', 'testorg', 'quay+testorg@quay.com', False, True, False, False, 0, datetime.datetime(2025, 9, 26, 8, 36, 32, 29977), 1209600, True, None, datetime.datetime(2025, 9, 26, 8, 36, 32, 29982), 3]) gunicorn-registry stdout | 2025-09-26 08:36:32,033 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['admin', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,035 [250] [DEBUG] [peewee] ('INSERT INTO "team" ("name", "organization_id", "role_id", "description") VALUES (%s, %s, %s, %s) RETURNING "team"."id"', ['owners', 3, 1, '']) gunicorn-registry stdout | 2025-09-26 08:36:32,037 [250] [DEBUG] [peewee] ('SELECT 1 FROM "teammember" AS "t1" WHERE (("t1"."user_id" = %s) AND ("t1"."team_id" = %s)) LIMIT %s', [1, 2, 1]) gunicorn-registry stdout | 2025-09-26 08:36:32,038 [250] [DEBUG] [peewee] ('INSERT INTO "teammember" ("user_id", "team_id") VALUES (%s, %s) RETURNING "teammember"."id"', [1, 2]) gunicorn-registry stdout | 2025-09-26 08:36:32,043 [250] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-registry stdout | 2025-09-26 08:36:32,043 [250] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-registry stdout | 2025-09-26 08:36:32,043 [250] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-registry stdout | 2025-09-26 08:36:32,043 [250] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-registry stdout | 2025-09-26 08:36:32,044 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-registry stdout | 2025-09-26 08:36:32,049 [250] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-registry stdout | 2025-09-26 08:36:32,049 [250] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-registry stdout | 2025-09-26 08:36:32,049 [250] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-registry stdout | 2025-09-26 08:36:32,049 [250] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg', role='admin') gunicorn-registry stdout | 2025-09-26 08:36:32,049 [250] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg', role='admin') gunicorn-registry stdout | 2025-09-26 08:36:32,050 [250] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg', teamname='owners', role='admin') gunicorn-registry stdout | 2025-09-26 08:36:32,050 [250] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-registry stdout | 2025-09-26 08:36:32,050 [250] [DEBUG] [endpoints.v2.v2auth] Creating repository: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:32,051 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") INNER JOIN "repositorykind" AS "t3" ON ("t1"."kind_id" = "t3"."id") WHERE (((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) AND ("t3"."name" = %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 'image', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,056 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."username" = %s) LIMIT %s OFFSET %s', ['testorg', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,060 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,063 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:32,065 [250] [DEBUG] [peewee] ('INSERT INTO "repository" ("namespace_user_id", "name", "visibility_id", "description", "badge_token", "kind_id", "trust_enabled", "state") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "repository"."id"', [3, 'alpine', 2, None, 'df1e6df5-07a8-4f13-8602-ede6b1f91dd9', 1, False, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,068 [250] [DEBUG] [peewee] ('INSERT INTO "repositoryactioncount" ("repository_id", "count", "date") VALUES (%s, %s, %s) RETURNING "repositoryactioncount"."id"', [2, 0, datetime.date(2025, 9, 25)]) gunicorn-registry stdout | 2025-09-26 08:36:32,071 [250] [DEBUG] [peewee] ('INSERT INTO "repositorysearchscore" ("repository_id", "score") VALUES (%s, %s) RETURNING "repositorysearchscore"."id"', [2, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,072 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "role" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['admin', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,074 [250] [DEBUG] [peewee] ('INSERT INTO "repositorypermission" ("user_id", "repository_id", "role_id") VALUES (%s, %s, %s) RETURNING "repositorypermission"."id"', [1, 2, 1]) gunicorn-registry stdout | 2025-09-26 08:36:32,078 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."org_id", "t1"."uuid", "t1"."activating_user_id", "t1"."delegate_user_id", "t1"."delegate_team_id", "t1"."role_id" FROM "permissionprototype" AS "t1" WHERE ((("t1"."org_id" = %s) AND (("t1"."activating_user_id" = %s) OR ("t1"."activating_user_id" IS %s))) AND ("t1"."delegate_user_id" IS %s))', [3, 1, None, None]) gunicorn-registry stdout | 2025-09-26 08:36:32,081 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."org_id", "t1"."uuid", "t1"."activating_user_id", "t1"."delegate_user_id", "t1"."delegate_team_id", "t1"."role_id" FROM "permissionprototype" AS "t1" WHERE ((("t1"."org_id" = %s) AND (("t1"."activating_user_id" = %s) OR ("t1"."activating_user_id" IS %s))) AND ("t1"."delegate_team_id" IS %s))', [3, 1, None, None]) gunicorn-registry stdout | 2025-09-26 08:36:32,085 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,089 [250] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-registry stdout | 2025-09-26 08:36:32,089 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,100 [250] [DEBUG] [app] Ending request: urn:request:5c9c520e-fbb1-4061-a7e9-37204ddbeb82 (/v2/auth) {'endpoint': 'v2.generate_registry_jwt', 'request_id': 'urn:request:5c9c520e-fbb1-4061-a7e9-37204ddbeb82', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/auth?account=quay&scope=repository:testorg/alpine:pull,push&service=quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com', 'path': '/v2/auth', 'parameters': {'account': 'quay', 'scope': 'repository:testorg/alpine:pull,push', 'service': 'quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:32,100 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:32,100 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:32,100 [250] [INFO] [gunicorn.access] 10.129.4.11 - quay [26/Sep/2025:08:36:32 +0000] "GET /v2/auth?account=quay&scope=repository%3Atestorg%2Falpine%3Apull%2Cpush&service=quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com HTTP/1.1" 200 1095 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - quay [26/Sep/2025:08:36:32 +0000] "GET /v2/auth?account=quay&scope=repository%3Atestorg%2Falpine%3Apull%2Cpush&service=quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com HTTP/1.1" 200 1095 "-" "skopeo/1.14.5" (0.396 697 0.396) gunicorn-registry stdout | 2025-09-26 08:36:32,104 [250] [DEBUG] [data.userevent] Published user event docker-cli: {'action': 'push_start', 'namespace': 'testorg', 'repository': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:32,142 [257] [DEBUG] [app] Starting request: urn:request:3ffca5a6-f315-4bef-9cfe-4cec988f52b3 (/v2/testorg/alpine/blobs/sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:32,142 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:32,142 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:32,142 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:32,143 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:32,143 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:32,143 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:32,143 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:32,143 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:32,144 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,149 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,152 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:32,153 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236_2 gunicorn-registry stdout | 2025-09-26 08:36:32,153 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:32,154 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,158 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,161 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,166 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,170 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,173 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236_2: None gunicorn-registry stdout | 2025-09-26 08:36:32,173 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236_2: None gunicorn-registry stdout | 2025-09-26 08:36:32,173 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:32,174 [257] [DEBUG] [app] Ending request: urn:request:3ffca5a6-f315-4bef-9cfe-4cec988f52b3 (/v2/testorg/alpine/blobs/sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:3ffca5a6-f315-4bef-9cfe-4cec988f52b3', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 'path': '/v2/testorg/alpine/blobs/sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:32,174 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:32,174 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:32,175 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:32 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:32 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.033 1714 0.033) gunicorn-registry stdout | 2025-09-26 08:36:32,485 [257] [DEBUG] [app] Starting request: urn:request:717de747-8c1d-423b-9d2a-8ea45145c5af (/v2/testorg/alpine/blobs/sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:32,486 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:32,486 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:32,486 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:32,487 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:32,487 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:32,487 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:32,487 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:32,487 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:32,488 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,492 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,496 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:32,496 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236_2 gunicorn-registry stdout | 2025-09-26 08:36:32,497 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:32,498 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,502 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,505 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,509 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,513 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,517 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236_2: None gunicorn-registry stdout | 2025-09-26 08:36:32,517 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236_2: None gunicorn-registry stdout | 2025-09-26 08:36:32,517 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:32,518 [257] [DEBUG] [app] Ending request: urn:request:717de747-8c1d-423b-9d2a-8ea45145c5af (/v2/testorg/alpine/blobs/sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:717de747-8c1d-423b-9d2a-8ea45145c5af', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 'path': '/v2/testorg/alpine/blobs/sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:32,518 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:32,518 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:32 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.034 1714 0.034) gunicorn-registry stdout | 2025-09-26 08:36:32,519 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:32 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:36:32,616 [255] [DEBUG] [app] Starting request: urn:request:fc54563a-371e-4d33-a3eb-161a8e81b360 (/v2/testorg/alpine/blobs/uploads/eb9608a8-eb9b-410a-9b41-973ca4e6ea39) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:32,616 [255] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'eb9608a8-eb9b-410a-9b41-973ca4e6ea39', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:32,616 [255] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:32,616 [255] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:32,617 [255] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:32,617 [255] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:32,617 [255] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:32,617 [255] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:32,617 [255] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:32,618 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,622 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,625 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,629 [255] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,633 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,636 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-web stdout | 2025-09-26 08:36:32,639 [239] [DEBUG] [app] Starting request: urn:request:0faf2a4d-456c-4dfc-8a4d-ec0396076ad8 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:36:32,640 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:36:32,640 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:36:32,642 [250] [DEBUG] [app] Starting request: urn:request:f74a9f03-6406-4a76-b617-ce87439400a7 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:36:32,643 [250] [DEBUG] [app] Ending request: urn:request:f74a9f03-6406-4a76-b617-ce87439400a7 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:f74a9f03-6406-4a76-b617-ce87439400a7', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:36:32,643 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:36:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:36:32,643 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:36:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-registry stdout | 2025-09-26 08:36:32,643 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-web stdout | 2025-09-26 08:36:32,645 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:36:32,647 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['eb9608a8-eb9b-410a-9b41-973ca4e6ea39', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:32,651 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:32,651 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:32,651 [255] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:32,652 [255] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:32,652 [255] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:32,652 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,653 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,653 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,653 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,653 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:32,653 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,653 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,653 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:32,653 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:32,654 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:32,654 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:32,654 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:32,654 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,654 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,654 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,654 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-web stdout | 2025-09-26 08:36:32,654 [240] [DEBUG] [app] Starting request: urn:request:142ba4a8-5123-41b1-beb0-0dd909a26c99 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:36:32,655 [240] [DEBUG] [app] Ending request: urn:request:142ba4a8-5123-41b1-beb0-0dd909a26c99 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:142ba4a8-5123-41b1-beb0-0dd909a26c99', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:36:32,655 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:32,655 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:32,655 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,655 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,655 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:32,655 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083632Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:32,655 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083632Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 9f8160ed4cf67ee94bce0ea1b44f9e09c5aa3e448290eab4b6ce12208a2a72ee gunicorn-registry stdout | 2025-09-26 08:36:32,656 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 15b85ce6d979f6cda7a4383febc69a8cf379316b36b518d36bd7783c939686a7 gunicorn-registry stdout | 2025-09-26 08:36:32,656 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-web stdout | 2025-09-26 08:36:32,655 [240] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:36:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:36:32,655 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:36:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-registry stdout | 2025-09-26 08:36:32,656 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:32,656 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-web stdout | 2025-09-26 08:36:32,656 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:36:32,656 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:36:32,656 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-registry stdout | 2025-09-26 08:36:32,657 [255] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (1): s3.openshift-storage.svc.cluster.local:443 gunicorn-web stdout | 2025-09-26 08:36:32,665 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:36:32,665 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:36:32,675 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:36:32,680 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:36:32,683 [239] [DEBUG] [app] Ending request: urn:request:0faf2a4d-456c-4dfc-8a4d-ec0396076ad8 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:0faf2a4d-456c-4dfc-8a4d-ec0396076ad8', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:36:32,683 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:36:32,684 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:36:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:36:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.045 118 0.046) gunicorn-registry stdout | 2025-09-26 08:36:32,685 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:32,686 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ffs-e0vjb7-1bed', 'x-amz-id-2': 'mg0l8ffs-e0vjb7-1bed', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:32 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:32,687 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c68d65090d73ec60008f93340' gunicorn-registry stdout | 2025-09-26 08:36:32,687 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,687 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:32,687 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:32,687 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8ffs-e0vjb7-1bed', 'HostId': 'mg0l8ffs-e0vjb7-1bed', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ffs-e0vjb7-1bed', 'x-amz-id-2': 'mg0l8ffs-e0vjb7-1bed', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:32 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c', 'UploadId': '68d65090d73ec60008f93340'} gunicorn-registry stdout | 2025-09-26 08:36:32,687 [255] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-web stdout | 2025-09-26 08:36:32,728 [239] [DEBUG] [app] Starting request: urn:request:52790dff-abe1-4df2-a0f0-2d3b1822ea31 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:36:32,731 [257] [DEBUG] [app] Starting request: urn:request:638c5532-4574-4b53-8e01-df5e0db0026a (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:36:32,731 [257] [DEBUG] [app] Ending request: urn:request:638c5532-4574-4b53-8e01-df5e0db0026a (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:638c5532-4574-4b53-8e01-df5e0db0026a', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:36:32,731 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:36:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:36:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-web stdout | 2025-09-26 08:36:32,731 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:36:32,733 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:36:32,735 [242] [DEBUG] [app] Starting request: urn:request:aec7ecdb-8cda-43b2-bf6d-0bd77067cbd9 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:36:32,735 [242] [DEBUG] [app] Ending request: urn:request:aec7ecdb-8cda-43b2-bf6d-0bd77067cbd9 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:aec7ecdb-8cda-43b2-bf6d-0bd77067cbd9', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:36:32,735 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:36:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:36:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.002) gunicorn-web stdout | 2025-09-26 08:36:32,736 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:36:32,736 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:36:32,736 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:36:32,736 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:36:32,744 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:36:32,744 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:36:32,754 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:36:32,757 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:36:32,761 [239] [DEBUG] [app] Ending request: urn:request:52790dff-abe1-4df2-a0f0-2d3b1822ea31 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:52790dff-abe1-4df2-a0f0-2d3b1822ea31', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:36:32,761 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:36:32,762 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:36:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:36:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.034 118 0.035) gunicorn-registry stdout | 2025-09-26 08:36:32,777 [257] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '257'} gunicorn-registry stdout | 2025-09-26 08:36:32,782 [252] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '252'} gunicorn-registry stdout | 2025-09-26 08:36:32,789 [59] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '59'} gunicorn-registry stdout | 2025-09-26 08:36:32,793 [254] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '254'} gunicorn-registry stdout | 2025-09-26 08:36:32,858 [253] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '253'} gunicorn-registry stdout | 2025-09-26 08:36:32,866 [255] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '255'} gunicorn-registry stdout | 2025-09-26 08:36:32,877 [256] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '256'} gunicorn-registry stdout | 2025-09-26 08:36:32,881 [251] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '251'} gunicorn-registry stdout | 2025-09-26 08:36:32,890 [250] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '250'} gunicorn-registry stdout | 2025-09-26 08:36:32,930 [255] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:32,930 [255] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:32,931 [255] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c', 'UploadId': '68d65090d73ec60008f93340', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc1a5c0>, 'ContentLength': 3796846} gunicorn-registry stdout | 2025-09-26 08:36:32,931 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,931 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,931 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,931 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,931 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:32,931 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,931 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,931 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:32,931 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:32,932 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:32,932 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:32,932 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:32,932 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,940 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,940 [255] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:32,940 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,940 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,940 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c', 'query_string': {'uploadId': '68d65090d73ec60008f93340', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '3796846', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'oI5LM1SyeSqSTXag/Sk1wg==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc1a5c0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c?uploadId=68d65090d73ec60008f93340&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c', 'UploadId': '68d65090d73ec60008f93340', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc1a5c0>, 'ContentLength': 3796846}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:32,941 [255] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:32,941 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:32,941 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,941 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,941 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:32,941 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c gunicorn-registry stdout | partNumber=1&uploadId=68d65090d73ec60008f93340 gunicorn-registry stdout | content-length:3796846 gunicorn-registry stdout | content-md5:oI5LM1SyeSqSTXag/Sk1wg== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083632Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:32,941 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083632Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 1bf8ce1dcb1af87dc74590d3ea1750b6b9cca0f684e0a3a4165f16ab54ee6a9c gunicorn-registry stdout | 2025-09-26 08:36:32,942 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | fc1fdebe96b3273ad4e8f2b88267eaffb6b1eb94672a9ff0b0fe5cf7b4ea7730 gunicorn-registry stdout | 2025-09-26 08:36:32,942 [255] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:32,942 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:32,942 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:32,943 [255] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:32,944 [255] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:36:33,134 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c?uploadId=68d65090d73ec60008f93340&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:33,134 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8fn4-1u9io4-t6d', 'x-amz-id-2': 'mg0l8fn4-1u9io4-t6d', 'ETag': '"a08e4b3354b2792a924d76a0fd2935c2"', 'Date': 'Fri, 26 Sep 2025 08:36:33 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:33,134 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:33,135 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,135 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:33,135 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,135 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8fn4-1u9io4-t6d', 'HostId': 'mg0l8fn4-1u9io4-t6d', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8fn4-1u9io4-t6d', 'x-amz-id-2': 'mg0l8fn4-1u9io4-t6d', 'etag': '"a08e4b3354b2792a924d76a0fd2935c2"', 'date': 'Fri, 26 Sep 2025 08:36:33 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"a08e4b3354b2792a924d76a0fd2935c2"'} gunicorn-registry stdout | 2025-09-26 08:36:33,135 [255] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c', 'UploadId': '68d65090d73ec60008f93340', 'MultipartUpload': {'Parts': [{'ETag': '"a08e4b3354b2792a924d76a0fd2935c2"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:36:33,135 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,136 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,136 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,136 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,136 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,136 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,136 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,137 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:33,137 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:33,137 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:33,137 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:33,138 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,139 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,139 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,139 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c', 'query_string': {'uploadId': '68d65090d73ec60008f93340'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"a08e4b3354b2792a924d76a0fd2935c2"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c?uploadId=68d65090d73ec60008f93340', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c', 'UploadId': '68d65090d73ec60008f93340', 'MultipartUpload': {'Parts': [{'ETag': '"a08e4b3354b2792a924d76a0fd2935c2"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:33,139 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,139 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,139 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,139 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,140 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:33,140 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c gunicorn-registry stdout | uploadId=68d65090d73ec60008f93340 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:0a82615bf92326faed7aa62ec22e0b53ae2b74312cc558dc65bad16b6946740e gunicorn-registry stdout | x-amz-date:20250926T083633Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 0a82615bf92326faed7aa62ec22e0b53ae2b74312cc558dc65bad16b6946740e gunicorn-registry stdout | 2025-09-26 08:36:33,140 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083633Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | eb070dfaffc9d2fac602b224765ac2338aa0052e2e1796d66008a37d3b5337d3 gunicorn-registry stdout | 2025-09-26 08:36:33,140 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 041c332d9e37a1101a4d0b887700abc2b16b34aaf821607457bae09601185d52 gunicorn-registry stdout | 2025-09-26 08:36:33,140 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,140 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:33,140 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:33,155 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c?uploadId=68d65090d73ec60008f93340 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:36:33,156 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8fsl-53padw-g9d', 'x-amz-id-2': 'mg0l8fsl-53padw-g9d', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:36:33 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:33,156 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c"23084520a312a049f43be174125adc34-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c?uploadId=68d65090d73ec60008f93340' gunicorn-registry stdout | 2025-09-26 08:36:33,156 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,156 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,156 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:33,156 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,156 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8fsl-53padw-g9d', 'HostId': 'mg0l8fsl-53padw-g9d', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8fsl-53padw-g9d', 'x-amz-id-2': 'mg0l8fsl-53padw-g9d', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:36:33 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c?uploadId=68d65090d73ec60008f93340', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c', 'ETag': '"23084520a312a049f43be174125adc34-1"'} gunicorn-registry stdout | 2025-09-26 08:36:33,156 [255] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:33,157 [255] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:33,157 [255] [DEBUG] [data.registry_model.blobuploader] Uploaded 3796846 bytes to blob eb9608a8-eb9b-410a-9b41-973ca4e6ea39 took 0.506709098815918 seconds gunicorn-registry stdout | 2025-09-26 08:36:33,158 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['eb9608a8-eb9b-410a-9b41-973ca4e6ea39', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:33,163 [255] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, 'eb9608a8-eb9b-410a-9b41-973ca4e6ea39', 3796846, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENw1xb/h5PqQBf861kQP/T6H74d/hBx+f7ThS50oQs9LP1/AQAA///XDm6PACKDADCiXfC/xn97FvAwfdwef3T3/i4AAAAAAAAAAHrPAQAAAABvo7Z3HaQKvAVRv3AUlOemz07g/sB2qZztU3UfTnoHc5RiLg==', 9, '{"chunks": [["uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c", 0, 3796846]]}', 1, 8593920, datetime.datetime(2025, 9, 26, 8, 36, 32, 570885), None, None, 8]) gunicorn-registry stdout | 2025-09-26 08:36:33,168 [255] [DEBUG] [app] Ending request: urn:request:fc54563a-371e-4d33-a3eb-161a8e81b360 (/v2/testorg/alpine/blobs/uploads/eb9608a8-eb9b-410a-9b41-973ca4e6ea39) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:fc54563a-371e-4d33-a3eb-161a8e81b360', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/eb9608a8-eb9b-410a-9b41-973ca4e6ea39', 'path': '/v2/testorg/alpine/blobs/uploads/eb9608a8-eb9b-410a-9b41-973ca4e6ea39', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:33,168 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:33,168 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:33,169 [255] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:33 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/eb9608a8-eb9b-410a-9b41-973ca4e6ea39 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:33 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/eb9608a8-eb9b-410a-9b41-973ca4e6ea39 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.556 3798622 0.554) gunicorn-registry stdout | 2025-09-26 08:36:33,210 [257] [DEBUG] [app] Starting request: urn:request:fd075e67-5f10-4abb-98c4-144d0780c2ad (/v2/testorg/alpine/blobs/uploads/eb9608a8-eb9b-410a-9b41-973ca4e6ea39) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:33,210 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'eb9608a8-eb9b-410a-9b41-973ca4e6ea39', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:33,210 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:33,211 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:33,212 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:33,212 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:33,212 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:33,212 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:33,212 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:33,214 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:33,218 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:33,222 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:33,225 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:33,229 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:33,232 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:33,236 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:33,240 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:33,243 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['eb9608a8-eb9b-410a-9b41-973ca4e6ea39', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:33,247 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:33,247 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:33,247 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:33,249 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:33,249 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/f0d039fa-4263-4e14-ae5e-c2e63cfbd0e2', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:33,250 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,250 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,250 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,250 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,250 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,250 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,250 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,250 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,250 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:33,250 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:33,250 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:33,250 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:33,250 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,250 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,250 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,250 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/f0d039fa-4263-4e14-ae5e-c2e63cfbd0e2?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f0d039fa-4263-4e14-ae5e-c2e63cfbd0e2', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f0d039fa-4263-4e14-ae5e-c2e63cfbd0e2?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/f0d039fa-4263-4e14-ae5e-c2e63cfbd0e2', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:33,250 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,251 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,251 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,251 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,251 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:33,251 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f0d039fa-4263-4e14-ae5e-c2e63cfbd0e2 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083633Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:33,251 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083633Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 1d14d3d456585f4641e9bd59463a6e670b867961a48fff51b23d8293d221b177 gunicorn-registry stdout | 2025-09-26 08:36:33,251 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 5250b3a7b5063b074ab34f18e80c58d2c17d8fbce456d446a7c2ff56c477da94 gunicorn-registry stdout | 2025-09-26 08:36:33,251 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,251 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:33,252 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:33,257 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f0d039fa-4263-4e14-ae5e-c2e63cfbd0e2?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:33,257 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8fvp-6y71f3-elr', 'x-amz-id-2': 'mg0l8fvp-6y71f3-elr', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:33 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:33,257 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/f0d039fa-4263-4e14-ae5e-c2e63cfbd0e268d65091d73ec60008f93346' gunicorn-registry stdout | 2025-09-26 08:36:33,257 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,258 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:33,258 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,258 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8fvp-6y71f3-elr', 'HostId': 'mg0l8fvp-6y71f3-elr', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8fvp-6y71f3-elr', 'x-amz-id-2': 'mg0l8fvp-6y71f3-elr', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:33 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/f0d039fa-4263-4e14-ae5e-c2e63cfbd0e2', 'UploadId': '68d65091d73ec60008f93346'} gunicorn-registry stdout | 2025-09-26 08:36:33,258 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:33,258 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/f0d039fa-4263-4e14-ae5e-c2e63cfbd0e2', 'UploadId': '68d65091d73ec60008f93346'} gunicorn-registry stdout | 2025-09-26 08:36:33,258 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,258 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,258 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,258 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,258 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,259 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,259 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:33,259 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:33,259 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:33,259 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:33,259 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,259 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,259 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,259 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/f0d039fa-4263-4e14-ae5e-c2e63cfbd0e2', 'query_string': {'uploadId': '68d65091d73ec60008f93346'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f0d039fa-4263-4e14-ae5e-c2e63cfbd0e2', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f0d039fa-4263-4e14-ae5e-c2e63cfbd0e2?uploadId=68d65091d73ec60008f93346', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/f0d039fa-4263-4e14-ae5e-c2e63cfbd0e2', 'UploadId': '68d65091d73ec60008f93346'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:33,259 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,259 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,259 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,259 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,260 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:33,260 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f0d039fa-4263-4e14-ae5e-c2e63cfbd0e2 gunicorn-registry stdout | uploadId=68d65091d73ec60008f93346 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083633Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:33,260 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083633Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4afd782f9457939f322f0e572503105cf4b89c86a9908c1323b4bb6a69da117c gunicorn-registry stdout | 2025-09-26 08:36:33,260 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 42acca1b528af1234c91da9b89c1d93a8edd6458ce843e2046f798ffa44f82dd gunicorn-registry stdout | 2025-09-26 08:36:33,260 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,260 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:33,260 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:33,268 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f0d039fa-4263-4e14-ae5e-c2e63cfbd0e2?uploadId=68d65091d73ec60008f93346 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:33,269 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8fvx-73a6zg-gcj', 'x-amz-id-2': 'mg0l8fvx-73a6zg-gcj', 'Date': 'Fri, 26 Sep 2025 08:36:33 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:33,269 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:33,269 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,269 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:33,269 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,269 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8fvx-73a6zg-gcj', 'HostId': 'mg0l8fvx-73a6zg-gcj', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8fvx-73a6zg-gcj', 'x-amz-id-2': 'mg0l8fvx-73a6zg-gcj', 'date': 'Fri, 26 Sep 2025 08:36:33 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:33,269 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob eb9608a8-eb9b-410a-9b41-973ca4e6ea39 took 0.02237701416015625 seconds gunicorn-registry stdout | 2025-09-26 08:36:33,270 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['eb9608a8-eb9b-410a-9b41-973ca4e6ea39', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:33,274 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, 'eb9608a8-eb9b-410a-9b41-973ca4e6ea39', 3796846, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENw1xb/h5PqQBf861kQP/T6H74d/hBx+f7ThS50oQs9LP1/AQAA///XDm6PACKDADCiXfC/xn97FvAwfdwef3T3/i4AAAAAAAAAAHrPAQAAAABvo7Z3HaQKvAVRv3AUlOemz07g/sB2qZztU3UfTnoHc5RiLg==', 9, '{"chunks": [["uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c", 0, 3796846]]}', 2, 8593920, datetime.datetime(2025, 9, 26, 8, 36, 32, 570885), None, None, 8]) gunicorn-registry stdout | 2025-09-26 08:36:33,278 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:33,278 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:33,278 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:33,279 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:33,279 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236'} gunicorn-registry stdout | 2025-09-26 08:36:33,280 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,280 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,280 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,280 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,280 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,280 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,280 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,280 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:33,280 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:33,280 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:33,280 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:33,280 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,280 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,280 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,280 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:33,281 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,281 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,281 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,281 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,281 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:33,281 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083633Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:33,281 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083633Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 81ba6428f9d99984627e4fee7b155cef0c8de758b894bb0633777ea84935c2e9 gunicorn-registry stdout | 2025-09-26 08:36:33,281 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6c60d8873cab50a14c30821f75d65162a319b2599d5cc150ad4308a808b93b80 gunicorn-registry stdout | 2025-09-26 08:36:33,281 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,281 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:33,281 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:33,286 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:33,287 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8fwi-7fq2jr-1e68', 'x-amz-id-2': 'mg0l8fwi-7fq2jr-1e68', 'Content-Type': 'application/xml', 'Content-Length': '339', 'Date': 'Fri, 26 Sep 2025 08:36:33 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:33,287 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:33,287 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,287 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:33,287 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,287 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:33,287 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:33,287 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236 gunicorn-registry stdout | 2025-09-26 08:36:33,287 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:33,288 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:33,288 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:33,288 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:33,288 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,288 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,288 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,288 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,288 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,288 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,288 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,288 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:33,288 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:33,288 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:33,288 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:33,288 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,288 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,288 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,289 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:33,289 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,289 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,289 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,289 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,289 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,289 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:33,289 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083633Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:33,289 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083633Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4d4f1a605087ab6d514d6225cbc1c13ad9dd3a0b74ba8aac77138f013f760e8b gunicorn-registry stdout | 2025-09-26 08:36:33,289 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 0cfa9409a2018321928450ff7da0ed4d8eca553b1fd159768e1317c9cb37f1d6 gunicorn-registry stdout | 2025-09-26 08:36:33,289 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,289 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,289 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:33,289 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:33,290 [257] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:36:33,315 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:33,316 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8fxc-7xnea9-1al', 'x-amz-id-2': 'mg0l8fxc-7xnea9-1al', 'ETag': '"23084520a312a049f43be174125adc34-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:33 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '3796846', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:33 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:33,316 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:33,316 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,317 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:33,317 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,317 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:33,317 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:33,317 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:33,317 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:33,317 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 'extra_args': {}, 'callbacks': [], 'size': 3796846} gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,318 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,319 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,319 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,319 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,319 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:33,319 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cfa32cf4-c3d9-425f-8836-4a285f53526c gunicorn-registry stdout | x-amz-date:20250926T083633Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:33,319 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083633Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 89c1668a2fce185c5dcef58fc6f3bfcc6c41ab1ace59b90042f48edea1df443a gunicorn-registry stdout | 2025-09-26 08:36:33,319 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 3f1a683e0e61a87c40aa2ef2bcaa775da48bdada9407854b42ec7eb4f4100abe gunicorn-registry stdout | 2025-09-26 08:36:33,319 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,319 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,319 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:33,319 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:33,320 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:33,345 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:36:33,346 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8fxk-82j89x-nps', 'x-amz-id-2': 'mg0l8fxk-82j89x-nps', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:36:33 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:33,346 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:33.000Z"23084520a312a049f43be174125adc34-1"' gunicorn-registry stdout | 2025-09-26 08:36:33,346 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,346 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:33,346 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:33,346 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:33,346 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:33,347 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob eb9608a8-eb9b-410a-9b41-973ca4e6ea39 with digest sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236 took 0.05984210968017578 seconds gunicorn-registry stdout | 2025-09-26 08:36:33,348 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['eb9608a8-eb9b-410a-9b41-973ca4e6ea39', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:33,351 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:33,352 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['402d10f8-4d79-4a8f-94a8-cc0763840db4', 3796846, 8593920, True, True, 'sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236']) gunicorn-registry stdout | 2025-09-26 08:36:33,354 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [8, 9]) gunicorn-registry stdout | 2025-09-26 08:36:33,356 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:33,357 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 8, datetime.datetime(2025, 9, 26, 8, 36, 33, 357453), datetime.datetime(2025, 9, 26, 9, 36, 33, 357430)]) gunicorn-registry stdout | 2025-09-26 08:36:33,359 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [8]) gunicorn-registry stdout | 2025-09-26 08:36:33,362 [257] [DEBUG] [app] Ending request: urn:request:fd075e67-5f10-4abb-98c4-144d0780c2ad (/v2/testorg/alpine/blobs/uploads/eb9608a8-eb9b-410a-9b41-973ca4e6ea39) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:fd075e67-5f10-4abb-98c4-144d0780c2ad', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/eb9608a8-eb9b-410a-9b41-973ca4e6ea39?digest=sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236', 'path': '/v2/testorg/alpine/blobs/uploads/eb9608a8-eb9b-410a-9b41-973ca4e6ea39', 'parameters': {'digest': 'sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:33,362 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:33,362 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:33 +0000] "PUT /v2/testorg/alpine/blobs/uploads/eb9608a8-eb9b-410a-9b41-973ca4e6ea39?digest=sha256%3Afe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.154 1849 0.154) gunicorn-registry stdout | 2025-09-26 08:36:33,363 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:33 +0000] "PUT /v2/testorg/alpine/blobs/uploads/eb9608a8-eb9b-410a-9b41-973ca4e6ea39?digest=sha256%3Afe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" proxycacheblobworker stdout | 2025-09-26 08:36:33,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:36:33,546 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:43.545186+00:00 (in 9.999074 seconds) proxycacheblobworker stdout | 2025-09-26 08:36:33,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:43 GMT)" (scheduled at 2025-09-26 08:36:33.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:36:33,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:36:33,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 36, 33, 546454), True, datetime.datetime(2025, 9, 26, 8, 36, 33, 546454), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:36:33,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:36:33,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:36:33,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:43 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:36:33,573 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} gunicorn-registry stdout | 2025-09-26 08:36:33,969 [250] [DEBUG] [app] Starting request: urn:request:e17d7f02-147e-41e1-8a21-f609bbd58a88 (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:33,969 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:33,970 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:33,970 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:33,970 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:33,971 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:33,971 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:33,971 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:33,971 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:33,972 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:33,976 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:33,979 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:33,983 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:33,986 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:33,990 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:33,994 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:33,997 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:34,001 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, 'afd4c7cc-834b-477f-86ce-72d570b601fe', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 34, 590)]) gunicorn-registry stdout | 2025-09-26 08:36:34,006 [250] [DEBUG] [app] Ending request: urn:request:e17d7f02-147e-41e1-8a21-f609bbd58a88 (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:e17d7f02-147e-41e1-8a21-f609bbd58a88', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:34,006 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:34,006 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:34,006 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:34 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:34 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.038 1693 0.038) gcworker stdout | 2025-09-26 08:36:34,439 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:36:34,439 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:51.444401+00:00 (in 17.004651 seconds) gcworker stdout | 2025-09-26 08:36:34,440 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:04 GMT)" (scheduled at 2025-09-26 08:36:34.439268+00:00) gcworker stdout | 2025-09-26 08:36:34,440 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:36:34,440 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:04 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:36:34,441 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:36:34,442 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:36.440077+00:00 (in 1.998003 seconds) notificationworker stdout | 2025-09-26 08:36:34,442 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:34 GMT)" (scheduled at 2025-09-26 08:36:34.441526+00:00) notificationworker stdout | 2025-09-26 08:36:34,442 [68] [DEBUG] [workers.queueworker] Running watchdog. notificationworker stdout | 2025-09-26 08:36:34,442 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:34 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:36:34,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:36:34,735 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:04.734534+00:00 (in 29.999442 seconds) autopruneworker stdout | 2025-09-26 08:36:34,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:04 GMT)" (scheduled at 2025-09-26 08:36:34.734534+00:00) autopruneworker stdout | 2025-09-26 08:36:34,749 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758872194742, None, 1, 0]) autopruneworker stdout | 2025-09-26 08:36:34,755 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:36:34,755 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:36:34,755 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:04 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:36:34,777 [257] [DEBUG] [app] Starting request: urn:request:60fcca72-b22c-4905-b6f9-629d95ea60ad (/v2/testorg/alpine/blobs/sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:34,778 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:34,778 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:34,778 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:34,779 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:34,779 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:34,779 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:34,779 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:34,779 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:34,779 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:34,783 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:34,788 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:34,788 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944_2 gunicorn-registry stdout | 2025-09-26 08:36:34,788 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:34,789 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:34,793 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:34,796 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:34,800 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:34,804 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:34,807 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944_2: None gunicorn-registry stdout | 2025-09-26 08:36:34,807 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944_2: None gunicorn-registry stdout | 2025-09-26 08:36:34,808 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:34,808 [257] [DEBUG] [app] Ending request: urn:request:60fcca72-b22c-4905-b6f9-629d95ea60ad (/v2/testorg/alpine/blobs/sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:60fcca72-b22c-4905-b6f9-629d95ea60ad', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 'path': '/v2/testorg/alpine/blobs/sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:34,808 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:34,808 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:34,808 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:34 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:34 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.032 1714 0.031) namespacegcworker stdout | 2025-09-26 08:36:34,841 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:36:34,841 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:58.835976+00:00 (in 23.994640 seconds) namespacegcworker stdout | 2025-09-26 08:36:34,841 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:34 GMT)" (scheduled at 2025-09-26 08:36:34.840898+00:00) namespacegcworker stdout | 2025-09-26 08:36:34,841 [66] [DEBUG] [workers.queueworker] Running watchdog. namespacegcworker stdout | 2025-09-26 08:36:34,841 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:34 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:36:35,064 [250] [DEBUG] [app] Starting request: urn:request:1ffe19c7-4555-4849-b3ca-fd4c2f4ee475 (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:35,064 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:35,064 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:35,064 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:35,066 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:35,066 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:35,066 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:35,066 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:35,066 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:35,067 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,071 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,074 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,079 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,082 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,087 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,091 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:35,095 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,098 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, '76eefc2b-de39-4b82-946f-fea224c55da8', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 35, 98381)]) gunicorn-registry stdout | 2025-09-26 08:36:35,103 [250] [DEBUG] [app] Ending request: urn:request:1ffe19c7-4555-4849-b3ca-fd4c2f4ee475 (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:1ffe19c7-4555-4849-b3ca-fd4c2f4ee475', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:35,104 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:35,104 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:35,104 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:35 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:35 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.041 1693 0.041) gunicorn-registry stdout | 2025-09-26 08:36:35,144 [256] [DEBUG] [app] Starting request: urn:request:0951da3e-2170-4039-a0f0-7a9887312bef (/v2/testorg/alpine/blobs/uploads/76eefc2b-de39-4b82-946f-fea224c55da8) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:35,144 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '76eefc2b-de39-4b82-946f-fea224c55da8', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:35,144 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:35,144 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:35,145 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:35,145 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:35,145 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:35,146 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:35,146 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:35,146 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,151 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,154 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,158 [256] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,161 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,165 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,168 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,172 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:35,175 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['76eefc2b-de39-4b82-946f-fea224c55da8', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,179 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:35,179 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:35,179 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:35,181 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:35,182 [256] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:35,182 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,182 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,182 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,182 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,182 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,182 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,182 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,182 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,182 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:35,182 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:35,182 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:35,182 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:35,183 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,183 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,183 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,183 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:35,183 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,183 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,183 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,183 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,183 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:35,183 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083635Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:35,183 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083635Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 8f4f0486d66dd96847c6345008174e477efd505c8c5d22592ea7576548624120 gunicorn-registry stdout | 2025-09-26 08:36:35,183 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | f48654422f6c1a7fcab9627352b28930934000f88cfa612d504f44a457e75eb5 gunicorn-registry stdout | 2025-09-26 08:36:35,183 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,183 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:35,184 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:35,184 [256] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:36:35,212 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:35,212 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hdz-6740qf-p8i', 'x-amz-id-2': 'mg0l8hdz-6740qf-p8i', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:35,212 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb24972368d65093d73ec60008f93352' gunicorn-registry stdout | 2025-09-26 08:36:35,212 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,212 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:35,212 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,213 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8hdz-6740qf-p8i', 'HostId': 'mg0l8hdz-6740qf-p8i', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hdz-6740qf-p8i', 'x-amz-id-2': 'mg0l8hdz-6740qf-p8i', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723', 'UploadId': '68d65093d73ec60008f93352'} gunicorn-registry stdout | 2025-09-26 08:36:35,213 [256] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:35,213 [256] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:35,213 [256] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:35,214 [256] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723', 'UploadId': '68d65093d73ec60008f93352', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50f4446d0>, 'ContentLength': 5682} gunicorn-registry stdout | 2025-09-26 08:36:35,215 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,215 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,215 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,215 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,215 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,215 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,215 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,215 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,215 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:35,215 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:35,215 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:35,215 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:35,216 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,216 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,216 [256] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:35,216 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,216 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,216 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723', 'query_string': {'uploadId': '68d65093d73ec60008f93352', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '5682', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': '7bGwcJyO7VNyCZLvuhqMyA==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50f4446d0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723?uploadId=68d65093d73ec60008f93352&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723', 'UploadId': '68d65093d73ec60008f93352', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50f4446d0>, 'ContentLength': 5682}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:35,216 [256] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,216 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,216 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,217 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,217 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:35,217 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723 gunicorn-registry stdout | partNumber=1&uploadId=68d65093d73ec60008f93352 gunicorn-registry stdout | content-length:5682 gunicorn-registry stdout | content-md5:7bGwcJyO7VNyCZLvuhqMyA== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083635Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:35,217 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083635Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | f15e6ea58794096881fd5e75e31afb022c1c93ceb8f484a3160f8195ae6fb02b gunicorn-registry stdout | 2025-09-26 08:36:35,217 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | f927a8b4ac1a3baab96c322b4d5147de512babecd76b9394dc73e7abdc8d7701 gunicorn-registry stdout | 2025-09-26 08:36:35,217 [256] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,217 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:35,217 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:35,218 [256] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:35,218 [256] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:36:35,220 [256] [DEBUG] [app] Starting request: urn:request:e0a3d695-e21f-4a49-9320-35e3272304ca (/v2/testorg/alpine/blobs/sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:35,220 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:35,220 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:35,220 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:35,221 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:35,221 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:35,221 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:35,221 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:35,221 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:35,222 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,226 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,229 [256] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:35,229 [256] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a_2 gunicorn-registry stdout | 2025-09-26 08:36:35,230 [256] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:35,231 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,235 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,238 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,242 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,245 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,249 [256] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a_2: None gunicorn-registry stdout | 2025-09-26 08:36:35,249 [256] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a_2: None gunicorn-registry stdout | 2025-09-26 08:36:35,249 [256] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:35,250 [256] [DEBUG] [app] Ending request: urn:request:e0a3d695-e21f-4a49-9320-35e3272304ca (/v2/testorg/alpine/blobs/sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:e0a3d695-e21f-4a49-9320-35e3272304ca', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 'path': '/v2/testorg/alpine/blobs/sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:35,250 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:35,250 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:35,250 [256] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:35 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:35 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.031 1714 0.031) gunicorn-registry stdout | 2025-09-26 08:36:35,289 [250] [DEBUG] [app] Starting request: urn:request:fba21ecf-667d-4e12-bc56-9cab111ea1cd (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:35,289 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:35,289 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:35,289 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:35,290 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:35,290 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:35,290 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:35,290 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:35,290 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:35,291 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,296 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723?uploadId=68d65093d73ec60008f93352&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:35,296 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hea-6dq2kp-15fz', 'x-amz-id-2': 'mg0l8hea-6dq2kp-15fz', 'ETag': '"edb1b0709c8eed53720992efba1a8cc8"', 'Date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:35,296 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:35,297 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,297 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:35,297 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,297 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8hea-6dq2kp-15fz', 'HostId': 'mg0l8hea-6dq2kp-15fz', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hea-6dq2kp-15fz', 'x-amz-id-2': 'mg0l8hea-6dq2kp-15fz', 'etag': '"edb1b0709c8eed53720992efba1a8cc8"', 'date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"edb1b0709c8eed53720992efba1a8cc8"'} gunicorn-registry stdout | 2025-09-26 08:36:35,297 [256] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723', 'UploadId': '68d65093d73ec60008f93352', 'MultipartUpload': {'Parts': [{'ETag': '"edb1b0709c8eed53720992efba1a8cc8"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:36:35,298 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,298 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,298 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,298 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,298 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,298 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,299 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,299 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,299 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:35,299 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:35,299 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:35,299 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:35,300 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,300 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,300 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,300 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723', 'query_string': {'uploadId': '68d65093d73ec60008f93352'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"edb1b0709c8eed53720992efba1a8cc8"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723?uploadId=68d65093d73ec60008f93352', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723', 'UploadId': '68d65093d73ec60008f93352', 'MultipartUpload': {'Parts': [{'ETag': '"edb1b0709c8eed53720992efba1a8cc8"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:35,301 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,301 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,301 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,301 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,301 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,302 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:35,302 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723 gunicorn-registry stdout | uploadId=68d65093d73ec60008f93352 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:7e10efe0a591b471a5374e8914ff3798678d51a86da1bd5976dd16bac57c732e gunicorn-registry stdout | x-amz-date:20250926T083635Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 7e10efe0a591b471a5374e8914ff3798678d51a86da1bd5976dd16bac57c732e gunicorn-registry stdout | 2025-09-26 08:36:35,302 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083635Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4c0f133bf4d22f01d9b2d43fe41ac521fc11a319ba04f712d79abb34c9c22428 gunicorn-registry stdout | 2025-09-26 08:36:35,302 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | e5568fe2124b92cbcdc0988ee2bf360f51fe0d84189e95d9ca87d3f98cb31eb5 gunicorn-registry stdout | 2025-09-26 08:36:35,302 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,302 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:35,302 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:35,305 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,309 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,312 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,316 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:35,317 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723?uploadId=68d65093d73ec60008f93352 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:36:35,317 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hgn-7shxp3-10cg', 'x-amz-id-2': 'mg0l8hgn-7shxp3-10cg', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:35,318 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723"9272f5e1149a6205e203feea94919550-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723?uploadId=68d65093d73ec60008f93352' gunicorn-registry stdout | 2025-09-26 08:36:35,318 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,318 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,318 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:35,318 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,319 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8hgn-7shxp3-10cg', 'HostId': 'mg0l8hgn-7shxp3-10cg', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hgn-7shxp3-10cg', 'x-amz-id-2': 'mg0l8hgn-7shxp3-10cg', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723?uploadId=68d65093d73ec60008f93352', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723', 'ETag': '"9272f5e1149a6205e203feea94919550-1"'} gunicorn-registry stdout | 2025-09-26 08:36:35,319 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:35,319 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,321 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:35,321 [256] [DEBUG] [data.registry_model.blobuploader] Uploaded 5682 bytes to blob 76eefc2b-de39-4b82-946f-fea224c55da8 took 0.14248347282409668 seconds gunicorn-registry stdout | 2025-09-26 08:36:35,322 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['76eefc2b-de39-4b82-946f-fea224c55da8', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,323 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, 'fac2c0fb-038a-4a59-ada1-e4d60b9063d6', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 35, 323132)]) gunicorn-registry stdout | 2025-09-26 08:36:35,327 [256] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '76eefc2b-de39-4b82-946f-fea224c55da8', 5682, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwcHM6Ly9tb2J5cHJvamVjdC5vcmcvYnVpbGRraXRAdjEjaGVybWV0aWMiOnRydWV9fX02ODQ2fV1dfX0sImh0dDIAAAAAAAAAALAAAAAAAABWpGawkOkIUiTshLFsl/ySteyRaovPkXoAQ1CcTimszZRiLg==', 9, '{"chunks": [["uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723", 0, 5682]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 36, 35, 98381), None, None, 10]) gunicorn-registry stdout | 2025-09-26 08:36:35,328 [250] [DEBUG] [app] Ending request: urn:request:fba21ecf-667d-4e12-bc56-9cab111ea1cd (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:fba21ecf-667d-4e12-bc56-9cab111ea1cd', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:35,328 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:35,328 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:35,329 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:35 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:35 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.040 1693 0.041) gunicorn-registry stdout | 2025-09-26 08:36:35,332 [256] [DEBUG] [app] Ending request: urn:request:0951da3e-2170-4039-a0f0-7a9887312bef (/v2/testorg/alpine/blobs/uploads/76eefc2b-de39-4b82-946f-fea224c55da8) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:0951da3e-2170-4039-a0f0-7a9887312bef', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/76eefc2b-de39-4b82-946f-fea224c55da8', 'path': '/v2/testorg/alpine/blobs/uploads/76eefc2b-de39-4b82-946f-fea224c55da8', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:35,332 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:35,332 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:35,332 [256] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:35 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/76eefc2b-de39-4b82-946f-fea224c55da8 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:35 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/76eefc2b-de39-4b82-946f-fea224c55da8 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.190 7455 0.189) gunicorn-registry stdout | 2025-09-26 08:36:35,372 [256] [DEBUG] [app] Starting request: urn:request:3c16d693-65c0-4019-ad65-fe5d902fa22a (/v2/testorg/alpine/blobs/uploads/76eefc2b-de39-4b82-946f-fea224c55da8) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:35,372 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '76eefc2b-de39-4b82-946f-fea224c55da8', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:35,372 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:35,372 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:35,373 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:35,374 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:35,374 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:35,374 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:35,374 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:35,375 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,379 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,382 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,386 [256] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,390 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,393 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,397 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,401 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:35,407 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['76eefc2b-de39-4b82-946f-fea224c55da8', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,410 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:35,411 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:35,411 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:35,412 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:35,412 [256] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7d280147-ca78-497c-88f8-ed53e481ef33', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:35,412 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,412 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,412 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,412 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,412 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,412 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,412 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,412 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,412 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:35,413 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:35,413 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:35,413 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:35,413 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,413 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,413 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,413 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/7d280147-ca78-497c-88f8-ed53e481ef33?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7d280147-ca78-497c-88f8-ed53e481ef33', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7d280147-ca78-497c-88f8-ed53e481ef33?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7d280147-ca78-497c-88f8-ed53e481ef33', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:35,413 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,413 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,413 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,413 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,413 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:35,413 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7d280147-ca78-497c-88f8-ed53e481ef33 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083635Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:35,413 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083635Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | af7f30cc6110757d263a591c2d22d990b6e0fce547c67236e4ba0c3af71a69a8 gunicorn-registry stdout | 2025-09-26 08:36:35,414 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | c43b547c76342a0327892bd7d819ee13e8ca4fd51489d814661ed673d15e1739 gunicorn-registry stdout | 2025-09-26 08:36:35,414 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,414 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:35,415 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:35,419 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7d280147-ca78-497c-88f8-ed53e481ef33?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:35,420 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hjr-9n58qj-pyd', 'x-amz-id-2': 'mg0l8hjr-9n58qj-pyd', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:35,420 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/7d280147-ca78-497c-88f8-ed53e481ef3368d65093d73ec60008f93359' gunicorn-registry stdout | 2025-09-26 08:36:35,420 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,420 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:35,420 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,420 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8hjr-9n58qj-pyd', 'HostId': 'mg0l8hjr-9n58qj-pyd', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hjr-9n58qj-pyd', 'x-amz-id-2': 'mg0l8hjr-9n58qj-pyd', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7d280147-ca78-497c-88f8-ed53e481ef33', 'UploadId': '68d65093d73ec60008f93359'} gunicorn-registry stdout | 2025-09-26 08:36:35,420 [256] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:35,421 [256] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7d280147-ca78-497c-88f8-ed53e481ef33', 'UploadId': '68d65093d73ec60008f93359'} gunicorn-registry stdout | 2025-09-26 08:36:35,421 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,421 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,421 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,421 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,421 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,421 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,421 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:35,421 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:35,421 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:35,421 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:35,422 [256] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,422 [256] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,422 [256] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,422 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/7d280147-ca78-497c-88f8-ed53e481ef33', 'query_string': {'uploadId': '68d65093d73ec60008f93359'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7d280147-ca78-497c-88f8-ed53e481ef33', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7d280147-ca78-497c-88f8-ed53e481ef33?uploadId=68d65093d73ec60008f93359', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7d280147-ca78-497c-88f8-ed53e481ef33', 'UploadId': '68d65093d73ec60008f93359'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:35,422 [256] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,422 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,422 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,422 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,422 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:35,422 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7d280147-ca78-497c-88f8-ed53e481ef33 gunicorn-registry stdout | uploadId=68d65093d73ec60008f93359 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083635Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:35,422 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083635Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | b183b0cae1623c5fb8343b21431a81b93ed9e4f018849d0cc940d2b318c464d5 gunicorn-registry stdout | 2025-09-26 08:36:35,422 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | cce7bfb9b3c81e9ea76207b97d6c64988f6586c56aa1e6cec05bd10812af526e gunicorn-registry stdout | 2025-09-26 08:36:35,422 [256] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,422 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:35,423 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:35,429 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7d280147-ca78-497c-88f8-ed53e481ef33?uploadId=68d65093d73ec60008f93359 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:35,430 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hk0-9s9auj-1dum', 'x-amz-id-2': 'mg0l8hk0-9s9auj-1dum', 'Date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:35,430 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:35,430 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,430 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:35,430 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,430 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8hk0-9s9auj-1dum', 'HostId': 'mg0l8hk0-9s9auj-1dum', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hk0-9s9auj-1dum', 'x-amz-id-2': 'mg0l8hk0-9s9auj-1dum', 'date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:35,430 [256] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 76eefc2b-de39-4b82-946f-fea224c55da8 took 0.01927804946899414 seconds gunicorn-registry stdout | 2025-09-26 08:36:35,430 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['76eefc2b-de39-4b82-946f-fea224c55da8', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,434 [256] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '76eefc2b-de39-4b82-946f-fea224c55da8', 5682, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwcHM6Ly9tb2J5cHJvamVjdC5vcmcvYnVpbGRraXRAdjEjaGVybWV0aWMiOnRydWV9fX02ODQ2fV1dfX0sImh0dDIAAAAAAAAAALAAAAAAAABWpGawkOkIUiTshLFsl/ySteyRaovPkXoAQ1CcTimszZRiLg==', 9, '{"chunks": [["uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723", 0, 5682]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 36, 35, 98381), None, None, 10]) gunicorn-registry stdout | 2025-09-26 08:36:35,438 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:35,439 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:35,439 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:35,441 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:35,441 [256] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/07/0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944'} gunicorn-registry stdout | 2025-09-26 08:36:35,441 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,441 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,441 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,441 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,441 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,441 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,441 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,441 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:35,441 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:35,441 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:35,441 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:35,442 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,442 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,442 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,442 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/07/0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/07/0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/07/0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/07/0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:35,442 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,442 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,442 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,442 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,442 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:35,442 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/07/0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083635Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:35,442 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083635Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 8969d6acbe43b28bf950c08e5103b72e27f3493afbbb77be01ee35507c0dcc33 gunicorn-registry stdout | 2025-09-26 08:36:35,442 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 3f896691f7155f46569a2de8fff83809d981f4017c96925616605b8853ede1dd gunicorn-registry stdout | 2025-09-26 08:36:35,442 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,442 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:35,443 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:35,448 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/07/0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:35,448 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hkj-a3pely-yh5', 'x-amz-id-2': 'mg0l8hkj-a3pely-yh5', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:35,448 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:35,448 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,449 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:35,449 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,449 [256] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:35,449 [256] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:35,449 [256] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/07/0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944 gunicorn-registry stdout | 2025-09-26 08:36:35,449 [256] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:35,449 [256] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:35,449 [256] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:35,449 [256] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,450 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,451 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:35,451 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083635Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:35,451 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083635Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 0064f109ee5a71eb959072e299f62dd950cdadb0a78f97dff29896515914c86d gunicorn-registry stdout | 2025-09-26 08:36:35,451 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | a6cbe4bb9e431d3886edf8b982cf783b5e76c23a2edbc2fe46f2b951a5df70d4 gunicorn-registry stdout | 2025-09-26 08:36:35,451 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,451 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,451 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:35,451 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:35,452 [256] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:36:35,479 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:35,479 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hlg-anbcsi-166p', 'x-amz-id-2': 'mg0l8hlg-anbcsi-166p', 'ETag': '"9272f5e1149a6205e203feea94919550-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:35 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '5682', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:35,480 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:35,480 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,480 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:35,480 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,480 [256] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/07/0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:35,480 [256] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:35,480 [256] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/07/0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/07/0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/07/0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/07/0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 'extra_args': {}, 'callbacks': [], 'size': 5682} gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,481 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/07/0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/07/0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/07/0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/07/0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:35,482 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,482 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,482 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,482 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,482 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,482 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:35,482 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/07/0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1492c5f9-3e92-41d0-9c9c-3f4efb249723 gunicorn-registry stdout | x-amz-date:20250926T083635Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:35,482 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083635Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | bc0d07a6e39526694dcc69a26d82d4b56eb4aadfe9354319087489d6ac7b8b4d gunicorn-registry stdout | 2025-09-26 08:36:35,482 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 2bee55e533ad1b561c60c73e5c3142974c9bd53c07ba67b892ff53cb60ae7f4f gunicorn-registry stdout | 2025-09-26 08:36:35,482 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,482 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,482 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:35,482 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:35,483 [256] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:35,507 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/07/0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:36:35,507 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hln-arix0q-zmd', 'x-amz-id-2': 'mg0l8hln-arix0q-zmd', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:35,507 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:35.000Z"9272f5e1149a6205e203feea94919550-1"' gunicorn-registry stdout | 2025-09-26 08:36:35,508 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,508 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,508 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:35,508 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,508 [256] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:35,509 [256] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 76eefc2b-de39-4b82-946f-fea224c55da8 with digest sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944 took 0.060086727142333984 seconds gunicorn-registry stdout | 2025-09-26 08:36:35,510 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['76eefc2b-de39-4b82-946f-fea224c55da8', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,513 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,515 [256] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['b2977fbb-6a74-495d-bac1-886c9fdd2005', 5682, None, True, True, 'sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944']) gunicorn-registry stdout | 2025-09-26 08:36:35,516 [256] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [10, 9]) gunicorn-registry stdout | 2025-09-26 08:36:35,518 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,520 [256] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 10, datetime.datetime(2025, 9, 26, 8, 36, 35, 519948), datetime.datetime(2025, 9, 26, 9, 36, 35, 519930)]) gunicorn-registry stdout | 2025-09-26 08:36:35,521 [256] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [10]) gunicorn-registry stdout | 2025-09-26 08:36:35,525 [256] [DEBUG] [app] Ending request: urn:request:3c16d693-65c0-4019-ad65-fe5d902fa22a (/v2/testorg/alpine/blobs/uploads/76eefc2b-de39-4b82-946f-fea224c55da8) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:3c16d693-65c0-4019-ad65-fe5d902fa22a', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/76eefc2b-de39-4b82-946f-fea224c55da8?digest=sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 'path': '/v2/testorg/alpine/blobs/uploads/76eefc2b-de39-4b82-946f-fea224c55da8', 'parameters': {'digest': 'sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:35,525 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:35,526 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:35,526 [256] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:35 +0000] "PUT /v2/testorg/alpine/blobs/uploads/76eefc2b-de39-4b82-946f-fea224c55da8?digest=sha256%3A0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:35 +0000] "PUT /v2/testorg/alpine/blobs/uploads/76eefc2b-de39-4b82-946f-fea224c55da8?digest=sha256%3A0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.155 1849 0.155) gunicorn-registry stdout | 2025-09-26 08:36:35,590 [257] [DEBUG] [app] Starting request: urn:request:ad961730-b736-4719-a0c7-cc871779c78a (/v2/testorg/alpine/blobs/uploads/fac2c0fb-038a-4a59-ada1-e4d60b9063d6) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:35,591 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'fac2c0fb-038a-4a59-ada1-e4d60b9063d6', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:35,591 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:35,591 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:35,592 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:35,592 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:35,592 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:35,592 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:35,592 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:35,593 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,598 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,601 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,605 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,609 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,612 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,615 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,619 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:35,623 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['fac2c0fb-038a-4a59-ada1-e4d60b9063d6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,626 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:35,626 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:35,626 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:35,628 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:35,628 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b5a5e010-c568-4fa2-927a-2f114ee433c3', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:35,628 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,628 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,628 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,628 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,628 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,628 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,628 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,628 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,628 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:35,628 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:35,628 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:35,628 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:35,628 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,629 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,629 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,629 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/b5a5e010-c568-4fa2-927a-2f114ee433c3?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b5a5e010-c568-4fa2-927a-2f114ee433c3', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b5a5e010-c568-4fa2-927a-2f114ee433c3?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b5a5e010-c568-4fa2-927a-2f114ee433c3', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:35,629 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,629 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,629 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,629 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,629 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:35,629 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b5a5e010-c568-4fa2-927a-2f114ee433c3 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083635Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:35,629 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083635Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 48c026f98ad66320945c183377f3c1a1ed220d85efce5bf45007510975292583 gunicorn-registry stdout | 2025-09-26 08:36:35,629 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 82caf35f7446cb7b3cb57b063bc57ac45a493a3b234f6ca565424c0d5eee4f07 gunicorn-registry stdout | 2025-09-26 08:36:35,629 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,630 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:35,630 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:35,635 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b5a5e010-c568-4fa2-927a-2f114ee433c3?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:35,635 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hpr-d7gbqb-bo3', 'x-amz-id-2': 'mg0l8hpr-d7gbqb-bo3', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:35,636 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/b5a5e010-c568-4fa2-927a-2f114ee433c368d65093d73ec60008f93361' gunicorn-registry stdout | 2025-09-26 08:36:35,636 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,636 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:35,636 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,636 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8hpr-d7gbqb-bo3', 'HostId': 'mg0l8hpr-d7gbqb-bo3', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hpr-d7gbqb-bo3', 'x-amz-id-2': 'mg0l8hpr-d7gbqb-bo3', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b5a5e010-c568-4fa2-927a-2f114ee433c3', 'UploadId': '68d65093d73ec60008f93361'} gunicorn-registry stdout | 2025-09-26 08:36:35,636 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:35,636 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b5a5e010-c568-4fa2-927a-2f114ee433c3', 'UploadId': '68d65093d73ec60008f93361'} gunicorn-registry stdout | 2025-09-26 08:36:35,637 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,637 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,637 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,637 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,637 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,637 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,637 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:35,637 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:35,637 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:35,637 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:35,637 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,637 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,637 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,637 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/b5a5e010-c568-4fa2-927a-2f114ee433c3', 'query_string': {'uploadId': '68d65093d73ec60008f93361'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b5a5e010-c568-4fa2-927a-2f114ee433c3', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b5a5e010-c568-4fa2-927a-2f114ee433c3?uploadId=68d65093d73ec60008f93361', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b5a5e010-c568-4fa2-927a-2f114ee433c3', 'UploadId': '68d65093d73ec60008f93361'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:35,637 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,637 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,637 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,637 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,638 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:35,638 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b5a5e010-c568-4fa2-927a-2f114ee433c3 gunicorn-registry stdout | uploadId=68d65093d73ec60008f93361 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083635Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:35,638 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083635Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ede7ef97dacda16e05cb0a64e7742fcde38538277d4c5c7dd6ca95d2c2261a20 gunicorn-registry stdout | 2025-09-26 08:36:35,638 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 663893956f5b04c9c074e585eb0212cfa6194eef235f812c815ff93ef2244c98 gunicorn-registry stdout | 2025-09-26 08:36:35,638 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,638 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:35,638 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:35,645 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b5a5e010-c568-4fa2-927a-2f114ee433c3?uploadId=68d65093d73ec60008f93361 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:35,646 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hq0-dcmsda-77l', 'x-amz-id-2': 'mg0l8hq0-dcmsda-77l', 'Date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:35,646 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:35,646 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,646 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:35,646 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,646 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8hq0-dcmsda-77l', 'HostId': 'mg0l8hq0-dcmsda-77l', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hq0-dcmsda-77l', 'x-amz-id-2': 'mg0l8hq0-dcmsda-77l', 'date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:35,646 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob fac2c0fb-038a-4a59-ada1-e4d60b9063d6 took 0.01964259147644043 seconds gunicorn-registry stdout | 2025-09-26 08:36:35,647 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['fac2c0fb-038a-4a59-ada1-e4d60b9063d6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,650 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, 'fac2c0fb-038a-4a59-ada1-e4d60b9063d6', 80956, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwNTNmYzZhNGY4ZWM5NmRkMTM1OCIsInJlbGF0aW9uc2hpcFR5cGUiOiJHRU5FUkFURURfRlJPTSJ9XX19YjIyMTwAAAAAAAAAAOAJAAAAAABiKS9b3/DM6nL5+77/z5ele6Fs0PISquGRA2TXr71rs5RiLg==', 9, '{"chunks": [["uploads/dba100c1-5bc9-4b91-9343-4a08879189af", 0, 80956]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 36, 35, 323132), None, None, 11]) gunicorn-registry stdout | 2025-09-26 08:36:35,655 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:35,655 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:35,655 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:35,656 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:35,657 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/5f/5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a'} gunicorn-registry stdout | 2025-09-26 08:36:35,657 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,657 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,657 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,657 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,657 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,657 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,657 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,657 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:35,657 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:35,657 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:35,657 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:35,657 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,657 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,657 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,657 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/5f/5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5f/5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5f/5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/5f/5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:35,657 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,658 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,658 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,658 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,658 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:35,658 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5f/5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083635Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:35,658 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083635Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 055f611751117cfab643ecd2e32ed477c725dea9b9fe3363a17bd3bb61a55404 gunicorn-registry stdout | 2025-09-26 08:36:35,658 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | de2f733200d6a887ee9c5dc0e100cebc180436c147ac1ee82f85f2a057ac2b49 gunicorn-registry stdout | 2025-09-26 08:36:35,658 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,658 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:35,658 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:35,662 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5f/5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:35,663 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hqj-do5oma-fv6', 'x-amz-id-2': 'mg0l8hqj-do5oma-fv6', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:35,663 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:35,663 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,663 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:35,663 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,663 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:35,663 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:35,663 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/5f/5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a gunicorn-registry stdout | 2025-09-26 08:36:35,663 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:35,664 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:35,664 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:35,664 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:35,664 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,664 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,664 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,664 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,664 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,665 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,665 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,665 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:35,665 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:35,665 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:35,665 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:35,665 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,665 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,665 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,665 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/dba100c1-5bc9-4b91-9343-4a08879189af', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/dba100c1-5bc9-4b91-9343-4a08879189af', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/dba100c1-5bc9-4b91-9343-4a08879189af', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/dba100c1-5bc9-4b91-9343-4a08879189af'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:35,665 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,665 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,665 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,665 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,665 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,665 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:35,665 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/dba100c1-5bc9-4b91-9343-4a08879189af gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083635Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:35,666 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083635Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 8277418692fc97f0dd3f6dc97935f774e56c6eccd8333e139b8d52ba09bf150f gunicorn-registry stdout | 2025-09-26 08:36:35,666 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b30d0306c27ab2ac5d321695001a167d839c5968b0fd62419d7a1b62d93ce7d2 gunicorn-registry stdout | 2025-09-26 08:36:35,666 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,666 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,666 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:35,666 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:35,669 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/dba100c1-5bc9-4b91-9343-4a08879189af HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:35,670 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hqr-dsp68r-4vh', 'x-amz-id-2': 'mg0l8hqr-dsp68r-4vh', 'ETag': '"cfca356d6af89691a600aef06e451bc6-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:35 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '80956', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:35,670 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:35,671 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,671 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:35,671 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,671 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/5f/5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:35,671 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:35,671 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/5f/5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:35,671 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/5f/5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:35,671 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/5f/5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/dba100c1-5bc9-4b91-9343-4a08879189af'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/5f/5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 'extra_args': {}, 'callbacks': [], 'size': 80956} gunicorn-registry stdout | 2025-09-26 08:36:35,671 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,671 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,671 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,671 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,671 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,671 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,671 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,671 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,671 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,672 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,672 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:35,672 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:35,672 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:35,672 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:35,672 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,672 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,672 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,672 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/5f/5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/dba100c1-5bc9-4b91-9343-4a08879189af', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5f/5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5f/5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/dba100c1-5bc9-4b91-9343-4a08879189af', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/5f/5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:35,672 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,672 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,672 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,672 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,672 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,672 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:35,672 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5f/5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/dba100c1-5bc9-4b91-9343-4a08879189af gunicorn-registry stdout | x-amz-date:20250926T083635Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:35,672 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083635Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 6df4d5a41063abd92b9a0d6fa6751aa4fd668d3b28b631d4c70f2c5e9912c522 gunicorn-registry stdout | 2025-09-26 08:36:35,673 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 4bfd30450de831f5cb2dd98745aba0da27e2d948f9a69ebb5989f5d7b2e17e0f gunicorn-registry stdout | 2025-09-26 08:36:35,673 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,673 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,673 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:35,673 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:35,673 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:35,698 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5f/5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:36:35,699 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8hqy-dx445t-m9t', 'x-amz-id-2': 'mg0l8hqy-dx445t-m9t', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:36:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:35,699 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:35.000Z"cfca356d6af89691a600aef06e451bc6-1"' gunicorn-registry stdout | 2025-09-26 08:36:35,699 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,699 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:35,699 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:35,699 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:35,699 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:35,700 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob fac2c0fb-038a-4a59-ada1-e4d60b9063d6 with digest sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a took 0.0367734432220459 seconds gunicorn-registry stdout | 2025-09-26 08:36:35,700 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['fac2c0fb-038a-4a59-ada1-e4d60b9063d6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,703 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,705 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['f1d45b06-bff2-4477-b22e-0588a5f9464f', 80956, None, True, True, 'sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a']) gunicorn-registry stdout | 2025-09-26 08:36:35,706 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [11, 9]) gunicorn-registry stdout | 2025-09-26 08:36:35,708 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,710 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 11, datetime.datetime(2025, 9, 26, 8, 36, 35, 710411), datetime.datetime(2025, 9, 26, 9, 36, 35, 710396)]) gunicorn-registry stdout | 2025-09-26 08:36:35,712 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [11]) gunicorn-registry stdout | 2025-09-26 08:36:35,715 [257] [DEBUG] [app] Ending request: urn:request:ad961730-b736-4719-a0c7-cc871779c78a (/v2/testorg/alpine/blobs/uploads/fac2c0fb-038a-4a59-ada1-e4d60b9063d6) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:ad961730-b736-4719-a0c7-cc871779c78a', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/fac2c0fb-038a-4a59-ada1-e4d60b9063d6?digest=sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 'path': '/v2/testorg/alpine/blobs/uploads/fac2c0fb-038a-4a59-ada1-e4d60b9063d6', 'parameters': {'digest': 'sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:35,715 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:35,715 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:35,716 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:35 +0000] "PUT /v2/testorg/alpine/blobs/uploads/fac2c0fb-038a-4a59-ada1-e4d60b9063d6?digest=sha256%3A5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:35 +0000] "PUT /v2/testorg/alpine/blobs/uploads/fac2c0fb-038a-4a59-ada1-e4d60b9063d6?digest=sha256%3A5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.127 1849 0.126) gunicorn-registry stdout | 2025-09-26 08:36:35,915 [250] [DEBUG] [app] Starting request: urn:request:1c1c49c2-dc3d-408d-8f5e-881f3a047113 (/v2/testorg/alpine/blobs/sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:35,916 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:35,916 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:35,916 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:35,917 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:35,917 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:35,917 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:35,917 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:35,917 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:35,917 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,922 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,925 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:35,925 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36_2 gunicorn-registry stdout | 2025-09-26 08:36:35,925 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:35,926 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,930 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,933 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,936 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,940 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,944 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36_2: None gunicorn-registry stdout | 2025-09-26 08:36:35,944 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36_2: None gunicorn-registry stdout | 2025-09-26 08:36:35,944 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:35,944 [250] [DEBUG] [app] Ending request: urn:request:1c1c49c2-dc3d-408d-8f5e-881f3a047113 (/v2/testorg/alpine/blobs/sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:1c1c49c2-dc3d-408d-8f5e-881f3a047113', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 'path': '/v2/testorg/alpine/blobs/sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:35,945 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:35,945 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:35,945 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:35 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:35 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.031 1714 0.031) gunicorn-registry stdout | 2025-09-26 08:36:35,983 [250] [DEBUG] [app] Starting request: urn:request:e3e1f992-cff4-4d92-9b6a-aef2e8cae8b2 (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:35,984 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:35,984 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:35,984 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:35,985 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:35,985 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:35,985 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:35,985 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:35,985 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:35,986 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,990 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,994 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:35,997 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,001 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,004 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,009 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:36,012 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,016 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, 'fc8ff979-abd8-4508-aec8-984a8d396a78', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 36, 16199)]) gunicorn-registry stdout | 2025-09-26 08:36:36,021 [250] [DEBUG] [app] Ending request: urn:request:e3e1f992-cff4-4d92-9b6a-aef2e8cae8b2 (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:e3e1f992-cff4-4d92-9b6a-aef2e8cae8b2', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:36,021 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:36,022 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:36,022 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:36 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:36 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.039 1693 0.039) gunicorn-registry stdout | 2025-09-26 08:36:36,061 [250] [DEBUG] [app] Starting request: urn:request:1e15b86c-6166-421f-ab36-5880a308e9b7 (/v2/testorg/alpine/blobs/uploads/fc8ff979-abd8-4508-aec8-984a8d396a78) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:36,061 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'fc8ff979-abd8-4508-aec8-984a8d396a78', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:36,061 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:36,061 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:36,063 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:36,063 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:36,063 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:36,064 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:36,064 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:36,065 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,069 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,072 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,075 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,079 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,082 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,086 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,089 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:36,093 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['fc8ff979-abd8-4508-aec8-984a8d396a78', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,097 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:36,097 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:36,097 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:36,099 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:36,099 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:36,099 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,099 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,099 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,099 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,099 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,099 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,099 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,099 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,099 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:36,099 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:36,099 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:36,100 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:36,100 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,100 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,100 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,100 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:36,100 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,100 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,100 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,100 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,101 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:36,101 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083636Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:36,101 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083636Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 75a6588d90d0fcc5a4e13de7c009f0e4db8b6fb9bcb7503da2ac513225edc9b2 gunicorn-registry stdout | 2025-09-26 08:36:36,101 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 54a5b8c397d8249415138233f46fadbb09c011880f374099c1745040f4a5aa9a gunicorn-registry stdout | 2025-09-26 08:36:36,101 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,101 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:36,101 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:36,102 [250] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:36:36,130 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:36,130 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8i3h-4u3yvr-5lf', 'x-amz-id-2': 'mg0l8i3h-4u3yvr-5lf', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:36 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:36,130 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa468d65094d73ec60008f93364' gunicorn-registry stdout | 2025-09-26 08:36:36,130 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,130 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:36,130 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,131 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8i3h-4u3yvr-5lf', 'HostId': 'mg0l8i3h-4u3yvr-5lf', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8i3h-4u3yvr-5lf', 'x-amz-id-2': 'mg0l8i3h-4u3yvr-5lf', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:36 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4', 'UploadId': '68d65094d73ec60008f93364'} gunicorn-registry stdout | 2025-09-26 08:36:36,131 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:36,131 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:36,132 [250] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:36,132 [250] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4', 'UploadId': '68d65094d73ec60008f93364', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc58540>, 'ContentLength': 241} gunicorn-registry stdout | 2025-09-26 08:36:36,133 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,133 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,133 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,133 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,133 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,133 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,133 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,133 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,133 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:36,134 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:36,134 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:36,134 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:36,135 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,135 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,135 [250] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:36,135 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,135 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,135 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4', 'query_string': {'uploadId': '68d65094d73ec60008f93364', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '241', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'RU/SMyPz4TgpcaiUBoUJ9A==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc58540>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4?uploadId=68d65094d73ec60008f93364&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4', 'UploadId': '68d65094d73ec60008f93364', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc58540>, 'ContentLength': 241}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:36,135 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,136 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,136 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,136 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,136 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:36,136 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4 gunicorn-registry stdout | partNumber=1&uploadId=68d65094d73ec60008f93364 gunicorn-registry stdout | content-length:241 gunicorn-registry stdout | content-md5:RU/SMyPz4TgpcaiUBoUJ9A== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083636Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:36,136 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083636Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | b0c867594800724defccdb43e88e667f186218e7590789ee1f9b42485a2c04bc gunicorn-registry stdout | 2025-09-26 08:36:36,136 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 2f943915ed9e39d46403927db2175fa3d2cb81383b854ba404f154e03eb94b0d gunicorn-registry stdout | 2025-09-26 08:36:36,137 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,137 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:36,137 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:36,138 [250] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:36,139 [250] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:36:36,280 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4?uploadId=68d65094d73ec60008f93364&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:36,281 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8i3u-527guc-16qc', 'x-amz-id-2': 'mg0l8i3u-527guc-16qc', 'ETag': '"454fd23323f3e1382971a894068509f4"', 'Date': 'Fri, 26 Sep 2025 08:36:36 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:36,281 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:36,281 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,281 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:36,281 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,282 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8i3u-527guc-16qc', 'HostId': 'mg0l8i3u-527guc-16qc', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8i3u-527guc-16qc', 'x-amz-id-2': 'mg0l8i3u-527guc-16qc', 'etag': '"454fd23323f3e1382971a894068509f4"', 'date': 'Fri, 26 Sep 2025 08:36:36 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"454fd23323f3e1382971a894068509f4"'} gunicorn-registry stdout | 2025-09-26 08:36:36,282 [250] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4', 'UploadId': '68d65094d73ec60008f93364', 'MultipartUpload': {'Parts': [{'ETag': '"454fd23323f3e1382971a894068509f4"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:36:36,282 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,283 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,283 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,283 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,283 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,283 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,283 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,283 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:36,283 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:36,283 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:36,283 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:36,284 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,284 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,284 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,284 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4', 'query_string': {'uploadId': '68d65094d73ec60008f93364'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"454fd23323f3e1382971a894068509f4"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4?uploadId=68d65094d73ec60008f93364', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4', 'UploadId': '68d65094d73ec60008f93364', 'MultipartUpload': {'Parts': [{'ETag': '"454fd23323f3e1382971a894068509f4"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:36,285 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,285 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,286 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,286 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,286 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:36,286 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4 gunicorn-registry stdout | uploadId=68d65094d73ec60008f93364 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:333e82c039c3243a8fcf1baf74b4c74551a2db3d19817893f757f10329b807a7 gunicorn-registry stdout | x-amz-date:20250926T083636Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 333e82c039c3243a8fcf1baf74b4c74551a2db3d19817893f757f10329b807a7 gunicorn-registry stdout | 2025-09-26 08:36:36,286 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083636Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 30137013586f415d74cb37a17c3b3e0cc4f72746917aec9f11f7efed2f711f7b gunicorn-registry stdout | 2025-09-26 08:36:36,286 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 12405b5f919c58fd4eed420829b5e22671ead76adfe60fce94c24974d216d255 gunicorn-registry stdout | 2025-09-26 08:36:36,286 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,287 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:36,287 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:36,302 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4?uploadId=68d65094d73ec60008f93364 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:36:36,302 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8i80-7j6ara-lac', 'x-amz-id-2': 'mg0l8i80-7j6ara-lac', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:36:36 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:36,302 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4"c170324d07169ded9b90cce181613f90-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4?uploadId=68d65094d73ec60008f93364' gunicorn-registry stdout | 2025-09-26 08:36:36,303 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,303 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,303 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:36,303 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,303 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8i80-7j6ara-lac', 'HostId': 'mg0l8i80-7j6ara-lac', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8i80-7j6ara-lac', 'x-amz-id-2': 'mg0l8i80-7j6ara-lac', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:36:36 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4?uploadId=68d65094d73ec60008f93364', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4', 'ETag': '"c170324d07169ded9b90cce181613f90-1"'} gunicorn-registry stdout | 2025-09-26 08:36:36,303 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:36,304 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:36,305 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 241 bytes to blob fc8ff979-abd8-4508-aec8-984a8d396a78 took 0.20740413665771484 seconds gunicorn-registry stdout | 2025-09-26 08:36:36,306 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['fc8ff979-abd8-4508-aec8-984a8d396a78', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,310 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, 'fc8ff979-abd8-4508-aec8-984a8d396a78', 241, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwZTRiMDBjODBkOTFhZGM2M2E2YTEyMWQ4OWI5NDZlOGI1YTBjOWJhNTA5OTQ0Il19fWJmNTJlODFhM2NmNzQ3YzEAAAAAAAAAAAYAAAAAAAC9zZP4Cm2oZwpIqaoRlA15Jv737sACQOguzlWmxgIE5ZRiLg==', 9, '{"chunks": [["uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4", 0, 241]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 36, 36, 16199), None, None, 12]) gunicorn-registry stdout | 2025-09-26 08:36:36,315 [250] [DEBUG] [app] Ending request: urn:request:1e15b86c-6166-421f-ab36-5880a308e9b7 (/v2/testorg/alpine/blobs/uploads/fc8ff979-abd8-4508-aec8-984a8d396a78) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:1e15b86c-6166-421f-ab36-5880a308e9b7', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/fc8ff979-abd8-4508-aec8-984a8d396a78', 'path': '/v2/testorg/alpine/blobs/uploads/fc8ff979-abd8-4508-aec8-984a8d396a78', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:36,315 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:36,315 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:36,316 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:36 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/fc8ff979-abd8-4508-aec8-984a8d396a78 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:36 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/fc8ff979-abd8-4508-aec8-984a8d396a78 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.256 2013 0.256) gunicorn-registry stdout | 2025-09-26 08:36:36,354 [250] [DEBUG] [app] Starting request: urn:request:43152faf-1d37-4da5-881c-45fd9bc82372 (/v2/testorg/alpine/blobs/uploads/fc8ff979-abd8-4508-aec8-984a8d396a78) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:36,355 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'fc8ff979-abd8-4508-aec8-984a8d396a78', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:36,355 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:36,355 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:36,356 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:36,356 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:36,356 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:36,356 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:36,356 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:36,358 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,362 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,365 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,369 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,373 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,376 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,380 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,384 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:36,387 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['fc8ff979-abd8-4508-aec8-984a8d396a78', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,391 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:36,391 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:36,391 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:36,392 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:36,392 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d001a706-6fcc-406e-992d-cefd5b785143', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:36,392 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,392 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,392 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,392 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,392 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,392 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,392 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,392 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,392 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:36,392 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:36,392 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:36,393 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:36,393 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,393 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,393 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,393 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/d001a706-6fcc-406e-992d-cefd5b785143?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d001a706-6fcc-406e-992d-cefd5b785143', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d001a706-6fcc-406e-992d-cefd5b785143?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d001a706-6fcc-406e-992d-cefd5b785143', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:36,393 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,393 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,393 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,393 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,394 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:36,394 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d001a706-6fcc-406e-992d-cefd5b785143 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083636Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:36,394 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083636Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 530902fc37f78c5801aa2490e866fc642741f081f29ec3ebe0912c9cfc539ee8 gunicorn-registry stdout | 2025-09-26 08:36:36,394 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 230407c809b450999bd1324c9bdc6e89a9756013a9b6947ee12314be3a8ec041 gunicorn-registry stdout | 2025-09-26 08:36:36,394 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,394 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:36,394 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:36,399 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d001a706-6fcc-406e-992d-cefd5b785143?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:36,400 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8iaz-9azh48-xz9', 'x-amz-id-2': 'mg0l8iaz-9azh48-xz9', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:36 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:36,400 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/d001a706-6fcc-406e-992d-cefd5b78514368d65094d73ec60008f9336a' gunicorn-registry stdout | 2025-09-26 08:36:36,400 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,400 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:36,400 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,400 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8iaz-9azh48-xz9', 'HostId': 'mg0l8iaz-9azh48-xz9', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8iaz-9azh48-xz9', 'x-amz-id-2': 'mg0l8iaz-9azh48-xz9', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:36 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d001a706-6fcc-406e-992d-cefd5b785143', 'UploadId': '68d65094d73ec60008f9336a'} gunicorn-registry stdout | 2025-09-26 08:36:36,400 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:36,401 [250] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d001a706-6fcc-406e-992d-cefd5b785143', 'UploadId': '68d65094d73ec60008f9336a'} gunicorn-registry stdout | 2025-09-26 08:36:36,401 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,401 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,401 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,401 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,401 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,401 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,401 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:36,401 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:36,401 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:36,401 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:36,401 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,401 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,401 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,401 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/d001a706-6fcc-406e-992d-cefd5b785143', 'query_string': {'uploadId': '68d65094d73ec60008f9336a'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d001a706-6fcc-406e-992d-cefd5b785143', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d001a706-6fcc-406e-992d-cefd5b785143?uploadId=68d65094d73ec60008f9336a', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d001a706-6fcc-406e-992d-cefd5b785143', 'UploadId': '68d65094d73ec60008f9336a'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:36,401 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,401 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,401 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,402 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,402 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:36,402 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d001a706-6fcc-406e-992d-cefd5b785143 gunicorn-registry stdout | uploadId=68d65094d73ec60008f9336a gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083636Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:36,402 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083636Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 53ec1993ceb6ff99dd78373d1739cefc6a534833e323a4207019370760fca288 gunicorn-registry stdout | 2025-09-26 08:36:36,402 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | bd37deede03c0df45d1ff1c4679ba3e67254671be1eabd661785588965d7aff5 gunicorn-registry stdout | 2025-09-26 08:36:36,402 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,402 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:36,402 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:36,408 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d001a706-6fcc-406e-992d-cefd5b785143?uploadId=68d65094d73ec60008f9336a HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:36,408 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ib7-9fn9rj-ylc', 'x-amz-id-2': 'mg0l8ib7-9fn9rj-ylc', 'Date': 'Fri, 26 Sep 2025 08:36:36 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:36,408 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:36,409 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,409 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:36,409 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,409 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8ib7-9fn9rj-ylc', 'HostId': 'mg0l8ib7-9fn9rj-ylc', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ib7-9fn9rj-ylc', 'x-amz-id-2': 'mg0l8ib7-9fn9rj-ylc', 'date': 'Fri, 26 Sep 2025 08:36:36 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:36,409 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob fc8ff979-abd8-4508-aec8-984a8d396a78 took 0.017999887466430664 seconds gunicorn-registry stdout | 2025-09-26 08:36:36,409 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['fc8ff979-abd8-4508-aec8-984a8d396a78', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,413 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, 'fc8ff979-abd8-4508-aec8-984a8d396a78', 241, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwZTRiMDBjODBkOTFhZGM2M2E2YTEyMWQ4OWI5NDZlOGI1YTBjOWJhNTA5OTQ0Il19fWJmNTJlODFhM2NmNzQ3YzEAAAAAAAAAAAYAAAAAAAC9zZP4Cm2oZwpIqaoRlA15Jv737sACQOguzlWmxgIE5ZRiLg==', 9, '{"chunks": [["uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4", 0, 241]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 36, 36, 16199), None, None, 12]) gunicorn-registry stdout | 2025-09-26 08:36:36,418 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:36,418 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:36,418 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:36,419 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:36,419 [250] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36'} gunicorn-registry stdout | 2025-09-26 08:36:36,419 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,419 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,419 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,419 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,419 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,419 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,419 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,419 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:36,419 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:36,419 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:36,419 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:36,420 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,420 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,420 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,420 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:36,420 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,420 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,420 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,420 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,420 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:36,420 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083636Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:36,420 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083636Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ededfe33964d0b292a829352775cc02f7be354014324267164ec8a95e41a1ba7 gunicorn-registry stdout | 2025-09-26 08:36:36,420 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | c569f2bf4956e3902f00d965c36ce35f278be7423823437fba37870e373eff21 gunicorn-registry stdout | 2025-09-26 08:36:36,420 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,420 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:36,421 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:36,424 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:36,425 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ibp-9qk5dw-plw', 'x-amz-id-2': 'mg0l8ibp-9qk5dw-plw', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:36 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:36,425 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:36,425 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,425 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:36,425 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,425 [250] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:36,425 [250] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:36,425 [250] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36 gunicorn-registry stdout | 2025-09-26 08:36:36,426 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:36,426 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:36,426 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:36,426 [250] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:36,426 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,426 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,426 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,426 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,426 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,426 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,426 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,426 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:36,426 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:36,426 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:36,426 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:36,427 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,427 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,427 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,427 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:36,427 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,427 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,427 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,427 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,427 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,427 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:36,427 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083636Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:36,427 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083636Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 0911c05717d8342b5bd6d70dbc83b43595dde8dc64c89fd0f5dd1ff5b57a40ca gunicorn-registry stdout | 2025-09-26 08:36:36,427 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ffa5cbeea4db792a21318f025721eac1ae579172189014cf271574e2f78b2024 gunicorn-registry stdout | 2025-09-26 08:36:36,427 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,427 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,427 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:36,428 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:36,428 [250] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local notificationworker stdout | 2025-09-26 08:36:36,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:36:36,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:46.440077+00:00 (in 9.999572 seconds) notificationworker stdout | 2025-09-26 08:36:36,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:46 GMT)" (scheduled at 2025-09-26 08:36:36.440077+00:00) notificationworker stdout | 2025-09-26 08:36:36,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:36:36,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 36, 36, 440797), True, datetime.datetime(2025, 9, 26, 8, 36, 36, 440797), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:36:36,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:36:36,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:36:36,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:46 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:36:36,455 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:36,455 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8icj-a8dkej-izx', 'x-amz-id-2': 'mg0l8icj-a8dkej-izx', 'ETag': '"c170324d07169ded9b90cce181613f90-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:36 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:36 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:36,455 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:36,456 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,456 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:36,456 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,456 [250] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:36,456 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:36,457 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:36,457 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:36,457 [250] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 'extra_args': {}, 'callbacks': [], 'size': 241} gunicorn-registry stdout | 2025-09-26 08:36:36,457 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,457 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,457 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,457 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,457 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,457 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,457 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,457 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,457 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,457 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,458 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:36,458 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:36,458 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:36,458 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:36,458 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,458 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,458 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,458 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:36,458 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,459 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,459 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,459 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,459 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,459 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:36,459 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/40510c63-74ab-48bc-b3c6-a9e28647caa4 gunicorn-registry stdout | x-amz-date:20250926T083636Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:36,459 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083636Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | d59ea73b863f07e2076d7da01bce15c9f96a4bdc4118a428824d4f096ebf3fc8 gunicorn-registry stdout | 2025-09-26 08:36:36,459 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 7f2d7a1da71ded6dd30ad97e0e13a97239bb277cd6b5c6d704172c0c7217cbb7 gunicorn-registry stdout | 2025-09-26 08:36:36,460 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,460 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,460 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:36,460 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:36,461 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:36,486 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:36:36,487 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ict-aeh12v-1a2h', 'x-amz-id-2': 'mg0l8ict-aeh12v-1a2h', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:36:36 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:36,487 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:36.000Z"c170324d07169ded9b90cce181613f90-1"' gunicorn-registry stdout | 2025-09-26 08:36:36,487 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,487 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,487 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:36,487 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,488 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:36,488 [250] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob fc8ff979-abd8-4508-aec8-984a8d396a78 with digest sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36 took 0.06307578086853027 seconds gunicorn-registry stdout | 2025-09-26 08:36:36,489 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['fc8ff979-abd8-4508-aec8-984a8d396a78', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,492 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,494 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['35f63725-d817-4fe9-a541-a45a4218f4a4', 241, None, True, True, 'sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36']) gunicorn-registry stdout | 2025-09-26 08:36:36,496 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [12, 9]) gunicorn-registry stdout | 2025-09-26 08:36:36,497 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,500 [250] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 12, datetime.datetime(2025, 9, 26, 8, 36, 36, 499605), datetime.datetime(2025, 9, 26, 9, 36, 36, 499584)]) gunicorn-registry stdout | 2025-09-26 08:36:36,501 [250] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [12]) gunicorn-registry stdout | 2025-09-26 08:36:36,505 [250] [DEBUG] [app] Ending request: urn:request:43152faf-1d37-4da5-881c-45fd9bc82372 (/v2/testorg/alpine/blobs/uploads/fc8ff979-abd8-4508-aec8-984a8d396a78) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:43152faf-1d37-4da5-881c-45fd9bc82372', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/fc8ff979-abd8-4508-aec8-984a8d396a78?digest=sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 'path': '/v2/testorg/alpine/blobs/uploads/fc8ff979-abd8-4508-aec8-984a8d396a78', 'parameters': {'digest': 'sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:36,505 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:36,505 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:36,505 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:36 +0000] "PUT /v2/testorg/alpine/blobs/uploads/fc8ff979-abd8-4508-aec8-984a8d396a78?digest=sha256%3A7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:36 +0000] "PUT /v2/testorg/alpine/blobs/uploads/fc8ff979-abd8-4508-aec8-984a8d396a78?digest=sha256%3A7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.151 1849 0.152) gunicorn-registry stdout | 2025-09-26 08:36:36,560 [250] [DEBUG] [app] Starting request: urn:request:fea8dedd-2ea7-450d-989b-1545ccb18c64 (/v2/testorg/alpine/manifests/sha256:bd4199eb785a74df05d995ccf017888413746b5566e0b401b93a173859f0827f) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:36,561 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:bd4199eb785a74df05d995ccf017888413746b5566e0b401b93a173859f0827f', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:36,561 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:36,561 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:36,562 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:36,562 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:36,563 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:36,563 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:36,563 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:36,565 [250] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:36:36,565 [250] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:36:36,565 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repository_lookup_testorg_alpine; calling loader gunicorn-registry stdout | 2025-09-26 08:36:36,567 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,571 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,574 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,577 [250] [DEBUG] [data.cache.impl] Got loaded result for key repository_lookup_testorg_alpine: {'id': 2, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': , 'namespace_user': {'stripe_id': None}} gunicorn-registry stdout | 2025-09-26 08:36:36,577 [250] [DEBUG] [data.cache.impl] Caching loaded result for key repository_lookup_testorg_alpine with expiration {'id': 2, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': , 'namespace_user': {'stripe_id': None}}: 120s gunicorn-registry stdout | 2025-09-26 08:36:36,578 [250] [DEBUG] [data.cache.impl] Cached loaded result for key repository_lookup_testorg_alpine with expiration {'id': 2, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': , 'namespace_user': {'stripe_id': None}}: 120s gunicorn-registry stdout | 2025-09-26 08:36:36,579 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:bd4199eb785a74df05d995ccf017888413746b5566e0b401b93a173859f0827f', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,584 [250] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL ((SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1") UNION ALL (SELECT * FROM (SELECT "t5"."id", "t5"."content_checksum", "t5"."image_size", "t5"."uuid", "t5"."cas_path", "t5"."uncompressed_size" FROM "imagestorage" AS "t5" INNER JOIN "uploadedblob" AS "t6" ON ("t6"."blob_id" = "t5"."id") WHERE (("t6"."repository_id" = %s) AND ("t5"."content_checksum" = %s)) LIMIT %s) AS "q2"))', [2, 'sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 1, 2, 'sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 1, 2, 'sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 1]) gunicorn-registry stdout | 2025-09-26 08:36:36,588 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:bd4199eb785a74df05d995ccf017888413746b5566e0b401b93a173859f0827f', 2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,592 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "mediatype" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:36,595 [250] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [2, 'sha256:bd4199eb785a74df05d995ccf017888413746b5566e0b401b93a173859f0827f', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36",\n "size": 241\n },\n "layers": [\n {\n "mediaType": "application/vnd.in-toto+json",\n "digest": "sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a",\n "size": 80956,\n "annotations": {\n "in-toto.io/predicate-type": "https://spdx.dev/Document"\n }\n },\n {\n "mediaType": "application/vnd.in-toto+json",\n "digest": "sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944",\n "size": 5682,\n "annotations": {\n "in-toto.io/predicate-type": "https://slsa.dev/provenance/v0.2"\n }\n }\n ]\n}', 'application/vnd.oci.image.config.v1+json', 86638, None, True, None, True]) gunicorn-registry stdout | 2025-09-26 08:36:36,597 [250] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [2, 3, 10, 2, 3, 11, 2, 3, 12]) gunicorn-registry stdout | 2025-09-26 08:36:36,599 [250] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,601 [250] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [3, 1]) gunicorn-registry stdout | 2025-09-26 08:36:36,602 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 11, 3, 1]) gunicorn-registry stdout | 2025-09-26 08:36:36,604 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 10, 3, 1]) gunicorn-registry stdout | 2025-09-26 08:36:36,605 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 12, 3, 1]) gunicorn-registry stdout | 2025-09-26 08:36:36,607 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,608 [250] [INFO] [data.model.quota] updating namespace size for manifest 3 in namespace 3, QuotaOperation.ADD 86879 gunicorn-registry stdout | 2025-09-26 08:36:36,608 [250] [DEBUG] [peewee] ('UPDATE "quotanamespacesize" SET "size_bytes" = ("quotanamespacesize"."size_bytes" + %s) WHERE ("quotanamespacesize"."namespace_user_id" = %s)', [86879, 3]) gunicorn-registry stdout | 2025-09-26 08:36:36,610 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,611 [250] [INFO] [data.model.quota] updating repository size for manifest 3 in repository 2, QuotaOperation.ADD 86879 gunicorn-registry stdout | 2025-09-26 08:36:36,611 [250] [DEBUG] [peewee] ('UPDATE "quotarepositorysize" SET "size_bytes" = ("quotarepositorysize"."size_bytes" + %s) WHERE ("quotarepositorysize"."repository_id" = %s)', [86879, 2]) gunicorn-registry stdout | 2025-09-26 08:36:36,614 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [3, None, 1758879396613, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,616 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "tagkind" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:36,618 [250] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-7a9b16a4-972e-4fd8-90ee-3e90c86382d4', 2, 3, 1758875796613, 1758879396613, False, True, False, 1]) gunicorn-registry stdout | 2025-09-26 08:36:36,622 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,625 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['35f63725-d817-4fe9-a541-a45a4218f4a4']) gunicorn-registry stdout | 2025-09-26 08:36:36,629 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:36,631 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:36,631 [250] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36'} gunicorn-registry stdout | 2025-09-26 08:36:36,631 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,631 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,631 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,631 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,631 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,632 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,632 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,632 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:36,632 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:36,632 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:36,632 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:36,633 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,633 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,633 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,633 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:36,633 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,634 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,634 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,634 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,634 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:36,634 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083636Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:36,634 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083636Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | aff0c81533fff1dd56c22b5ef2ff3c4616e0ae911acdddbe90fc85fd03375605 gunicorn-registry stdout | 2025-09-26 08:36:36,634 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 9cb9e54859838192409a261f42797c91831714018fca2a919d891969e7132ed7 gunicorn-registry stdout | 2025-09-26 08:36:36,635 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,635 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:36,635 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:36,697 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/7a/7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36 HTTP/1.1" 200 241 gunicorn-registry stdout | 2025-09-26 08:36:36,697 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8iho-dalz85-1abq', 'x-amz-id-2': 'mg0l8iho-dalz85-1abq', 'ETag': '"c170324d07169ded9b90cce181613f90-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:36 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:36 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:36,697 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:36:36,699 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:36,699 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:36,699 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:36,699 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8iho-dalz85-1abq', 'HostId': 'mg0l8iho-dalz85-1abq', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8iho-dalz85-1abq', 'x-amz-id-2': 'mg0l8iho-dalz85-1abq', 'etag': '"c170324d07169ded9b90cce181613f90-1"', 'last-modified': 'Fri, 26 Sep 2025 08:36:36 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:36:36 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 36, 36, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"c170324d07169ded9b90cce181613f90-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:36:36,702 [250] [DEBUG] [app] Ending request: urn:request:fea8dedd-2ea7-450d-989b-1545ccb18c64 (/v2/testorg/alpine/manifests/sha256:bd4199eb785a74df05d995ccf017888413746b5566e0b401b93a173859f0827f) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:fea8dedd-2ea7-450d-989b-1545ccb18c64', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/manifests/sha256:bd4199eb785a74df05d995ccf017888413746b5566e0b401b93a173859f0827f', 'path': '/v2/testorg/alpine/manifests/sha256:bd4199eb785a74df05d995ccf017888413746b5566e0b401b93a173859f0827f', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:7a444bc9f0713d2f048cd64e3458f7ef8d29683814fcb08a3e5c8fc3c4b41d36', 'size': 241}, 'layers': [{'mediaType': 'application/vnd.in-toto+json', 'digest': 'sha256:5ff8d76a871d143e3d5bf83dd9a47bdd130b4f9c66d34531b064f0395b77ea6a', 'size': 80956, 'annotations': {'in-toto.io/predicate-type': 'https://spdx.dev/Document'}}, {'mediaType': 'application/vnd.in-toto+json', 'digest': 'sha256:0775bf52e81a3cf747ce4b00c80d91adc63a6a121d89b946e8b5a0c9ba509944', 'size': 5682, 'annotations': {'in-toto.io/predicate-type': 'https://slsa.dev/provenance/v0.2'}}]}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:36,702 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:36,702 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:36,702 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:36 +0000] "PUT /v2/testorg/alpine/manifests/sha256:bd4199eb785a74df05d995ccf017888413746b5566e0b401b93a173859f0827f HTTP/1.1" 201 2 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:36 +0000] "PUT /v2/testorg/alpine/manifests/sha256:bd4199eb785a74df05d995ccf017888413746b5566e0b401b93a173859f0827f HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.143 2657 0.143) autopruneworker stdout | 2025-09-26 08:36:36,881 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} gunicorn-registry stdout | 2025-09-26 08:36:36,881 [250] [DEBUG] [app] Starting request: urn:request:ac0e5078-902b-4153-b0f3-1b1f277c6be8 (/v2/testorg/alpine/blobs/sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:36,882 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:36,882 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:36,882 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:36,883 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:36,883 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:36,883 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:36,883 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:36,883 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:36,885 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,889 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,893 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:36,893 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c_2 gunicorn-registry stdout | 2025-09-26 08:36:36,893 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:36,894 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,899 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,902 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,907 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,911 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:36,914 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c_2: None gunicorn-registry stdout | 2025-09-26 08:36:36,914 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c_2: None gunicorn-registry stdout | 2025-09-26 08:36:36,914 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:36,915 [250] [DEBUG] [app] Ending request: urn:request:ac0e5078-902b-4153-b0f3-1b1f277c6be8 (/v2/testorg/alpine/blobs/sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:ac0e5078-902b-4153-b0f3-1b1f277c6be8', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c', 'path': '/v2/testorg/alpine/blobs/sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:36,915 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:36,915 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:36,915 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:36 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:36 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.035 1714 0.034) gunicorn-registry stdout | 2025-09-26 08:36:37,154 [257] [DEBUG] [app] Starting request: urn:request:a7a62351-9abf-45e2-acf0-8241d6daa1b3 (/v2/testorg/alpine/blobs/sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:37,154 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:37,154 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:37,154 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:37,155 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:37,155 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:37,156 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:37,156 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:37,156 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:37,156 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:37,161 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:37,164 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:37,164 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c_2 gunicorn-registry stdout | 2025-09-26 08:36:37,164 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:37,165 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:37,169 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:37,173 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:37,176 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:37,180 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:37,184 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c_2: None gunicorn-registry stdout | 2025-09-26 08:36:37,184 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c_2: None gunicorn-registry stdout | 2025-09-26 08:36:37,184 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:37,185 [257] [DEBUG] [app] Ending request: urn:request:a7a62351-9abf-45e2-acf0-8241d6daa1b3 (/v2/testorg/alpine/blobs/sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:a7a62351-9abf-45e2-acf0-8241d6daa1b3', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c', 'path': '/v2/testorg/alpine/blobs/sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:37,185 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:37,185 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:37,185 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:37 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:37 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.032 1714 0.032) gunicorn-registry stdout | 2025-09-26 08:36:37,225 [250] [DEBUG] [app] Starting request: urn:request:4a66dc0e-f5b4-4859-8621-da02a8c4ee5e (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:37,225 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:37,225 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:37,225 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:37,227 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:37,227 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:37,227 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:37,227 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:37,227 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:37,228 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:37,232 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:37,235 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:37,239 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:37,243 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:37,247 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:37,251 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:37,254 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:37,258 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, '0d2cf060-c9da-4d57-8c02-b19b169b45e9', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 37, 257742)]) gunicorn-registry stdout | 2025-09-26 08:36:37,263 [250] [DEBUG] [app] Ending request: urn:request:4a66dc0e-f5b4-4859-8621-da02a8c4ee5e (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:4a66dc0e-f5b4-4859-8621-da02a8c4ee5e', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:37,263 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:37,263 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:37 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.039 1693 0.039) gunicorn-registry stdout | 2025-09-26 08:36:37,263 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:37 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:36:38,238 [250] [DEBUG] [app] Starting request: urn:request:555196a6-d088-4bed-81b0-3071ce786148 (/v2/testorg/alpine/blobs/sha256:2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:38,238 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:38,239 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:38,239 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:38,240 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:38,240 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:38,240 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:38,240 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:38,240 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:38,240 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,244 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,248 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:38,248 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5_2 gunicorn-registry stdout | 2025-09-26 08:36:38,249 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:38,249 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,253 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,256 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,260 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,264 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,267 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5_2: None gunicorn-registry stdout | 2025-09-26 08:36:38,268 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5_2: None gunicorn-registry stdout | 2025-09-26 08:36:38,268 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:38,268 [250] [DEBUG] [app] Ending request: urn:request:555196a6-d088-4bed-81b0-3071ce786148 (/v2/testorg/alpine/blobs/sha256:2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:555196a6-d088-4bed-81b0-3071ce786148', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5', 'path': '/v2/testorg/alpine/blobs/sha256:2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:38,268 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:38,268 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:38,268 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:38 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:38 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.031 1714 0.031) gunicorn-registry stdout | 2025-09-26 08:36:38,309 [250] [DEBUG] [app] Starting request: urn:request:775c247d-4f80-4a8d-b9b9-fb16602e83b7 (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:38,309 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:38,309 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:38,309 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:38,310 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:38,310 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:38,310 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:38,310 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:38,310 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:38,311 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,315 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,318 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,322 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,326 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,330 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,334 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:38,337 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,341 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, 'b5478ff9-d72b-4676-90a2-da61b2d58e5f', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 38, 341228)]) gunicorn-registry stdout | 2025-09-26 08:36:38,346 [250] [DEBUG] [app] Ending request: urn:request:775c247d-4f80-4a8d-b9b9-fb16602e83b7 (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:775c247d-4f80-4a8d-b9b9-fb16602e83b7', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:38,346 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:38,346 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:38,346 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:38 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:38 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.038 1693 0.038) gunicorn-registry stdout | 2025-09-26 08:36:38,724 [257] [DEBUG] [app] Starting request: urn:request:d2835228-0e51-479f-8312-76b15afa960f (/v2/testorg/alpine/manifests/sha256:a1c858aaff07c8da76e480d63c94e025c6317862dd2825c5ab2f4bf138a4c5dd) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:38,725 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:a1c858aaff07c8da76e480d63c94e025c6317862dd2825c5ab2f4bf138a4c5dd', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:38,725 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:38,725 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:38,726 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:38,726 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:38,726 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:38,726 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:38,726 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:38,728 [257] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:36:38,728 [257] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:36:38,728 [257] [DEBUG] [data.cache.impl] Found result in cache for key repository_lookup_testorg_alpine: {'id': 2, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': 0, 'namespace_user': {'stripe_id': None}} gunicorn-registry stdout | 2025-09-26 08:36:38,729 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:a1c858aaff07c8da76e480d63c94e025c6317862dd2825c5ab2f4bf138a4c5dd', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,735 [257] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [2, 'sha256:2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5', 1, 2, 'sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c', 1]) gunicorn-registry stdout | 2025-09-26 08:36:38,739 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:a1c858aaff07c8da76e480d63c94e025c6317862dd2825c5ab2f4bf138a4c5dd', 2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,743 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "mediatype" AS "t1"', []) gunicorn-web stdout | 2025-09-26 08:36:38,744 [241] [DEBUG] [app] Starting request: urn:request:0a469a45-5688-444b-bd9b-ceb621390683 (/_storage_proxy_auth) {'X-Forwarded-For': '3.131.182.156'} gunicorn-web stdout | 2025-09-26 08:36:38,744 [241] [DEBUG] [storage.downloadproxy] Got token b'eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1Nzk4LCJpYXQiOjE3NTg4NzU3OTgsImV4cCI6MTc1ODg3NjM5OCwic3ViIjoic3RvcmFnZXByb3h5IiwiYWNjZXNzIjpbeyJ0eXBlIjoic3RvcmFnZXByb3h5IiwidXJpIjoicXVheS1kYXRhc3RvcmUtZTI5YzM5OTQtNjJlYi00ZTlmLTk1NTAtYmFhMTFmODc0MDg0L2RhdGFzdG9yYWdlL3JlZ2lzdHJ5L3NoYTI1Ni9mOS9mOTNiN2QzMzk2YzIyMzU0NzI0YjUwMmM2OTI3NmE3MzAwMDMyOTdlNGMyNGJkNmQwM2ZjMTZiMGU1MDA5MGQzP0FXU0FjY2Vzc0tleUlkPUtxVUFodjYwQUdsQUREcTBNY0taJlNpZ25hdHVyZT16VDJxZkI1JTJGWU1lJTJGbzlWZm43VEJUNXlvTElBJTNEJkV4cGlyZXM9MTc1ODg3NjM5OCIsImhvc3QiOiJzMy5vcGVuc2hpZnQtc3RvcmFnZS5zdmMuY2x1c3Rlci5sb2NhbDo0NDMiLCJzY2hlbWUiOiJodHRwcyJ9XSwiY29udGV4dCI6e319.rgZtFoiF3_Flxq7QwW5MUqhv1nPo2LnfbzVhmwaQwqSnWpNFuZYIBVZGB5Dwh8-dGYt5YHtcSsAtq9Cc2weKYYBjgASi67ThBLu19BhOzO8rPSpVmgAxtQKgUzOQLjoyqHnjCW77DmA_r0ZlgHxtfFtq0HzlHxoCUeLXdrWVX10vjrXCEIMKDGToNLL9gCHRUsdxGe6hefFW7wXk_dl_IAeoGyH8x_vqrABjioQd88WPK44vIEtkJP2tFmrSyOyXwAwvE6ThZ-X6LJwowrcBGHTnfsCiws1Uu-cMrA3Z2SuHBef3odsa_nQWy0nm_5he3sQHdUz36jPWNVsy_hGeNA' for storage proxy auth request /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU56azRMQ0pwWVhRaU9qRTNOVGc0TnpVM09UZ3NJbVY0Y0NJNk1UYzFPRGczTmpNNU9Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5bU9TOW1PVE5pTjJRek16azJZekl5TXpVME56STBZalV3TW1NMk9USTNObUUzTXpBd01ETXlPVGRsTkdNeU5HSmtObVF3TTJaak1UWmlNR1UxTURBNU1HUXpQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDE2VkRKeFprSTFKVEpHV1UxbEpUSkdiemxXWm00M1ZFSlVOWGx2VEVsQkpUTkVKa1Y0Y0dseVpYTTlNVGMxT0RnM05qTTVPQ0lzSW1odmMzUWlPaUp6TXk1dmNHVnVjMmhwWm5RdGMzUnZjbUZuWlM1emRtTXVZMngxYzNSbGNpNXNiMk5oYkRvME5ETWlMQ0p6WTJobGJXVWlPaUpvZEhSd2N5SjlYU3dpWTI5dWRHVjRkQ0k2ZTMxOS5yZ1p0Rm9pRjNfRmx4cTdRd1c1TVVxaHYxblBvMkxuZmJ6Vmhtd2FRd3FTbldwTkZ1WllJQlZaR0I1RHdoOC1kR1l0NVlIdGNTc0F0cTlDYzJ3ZUtZWUJqZ0FTaTY3VGhCTHUxOUJoT3pPOHJQU3BWbWdBeHRRS2dVek9RTGpveXFIbmpDVzc3RG1BX3IwWmxnSHh0ZkZ0cTBIemxIeG9DVWVMWGRyV1ZYMTB2anJYQ0VJTUtER1RvTkxMOWdDSFJVc2R4R2U2aGVmRlc3d1hrX2RsX0lBZW9HeUg4eF92cXJBQmppb1FkODhXUEs0NHZJRXRrSlAydEZtclN5T3lYd0F3dkU2VGhaLVg2TEp3b3dyY0JHSFRuZnNDaXdzMVV1LWNNckEzWjJTdUhCZWYzb2RzYV9uUVd5MG5tXzVoZTNzUUhkVXozNmpQV05Wc3lfaEdlTkE=/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=zT2qfB5%2FYMe%2Fo9Vfn7TBT5yoLIA%3D&Expires=1758876398 with parts ['ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU56azRMQ0pwWVhRaU9qRTNOVGc0TnpVM09UZ3NJbVY0Y0NJNk1UYzFPRGczTmpNNU9Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5bU9TOW1PVE5pTjJRek16azJZekl5TXpVME56STBZalV3TW1NMk9USTNObUUzTXpBd01ETXlPVGRsTkdNeU5HSmtObVF3TTJaak1UWmlNR1UxTURBNU1HUXpQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDE2VkRKeFprSTFKVEpHV1UxbEpUSkdiemxXWm00M1ZFSlVOWGx2VEVsQkpUTkVKa1Y0Y0dseVpYTTlNVGMxT0RnM05qTTVPQ0lzSW1odmMzUWlPaUp6TXk1dmNHVnVjMmhwWm5RdGMzUnZjbUZuWlM1emRtTXVZMngxYzNSbGNpNXNiMk5oYkRvME5ETWlMQ0p6WTJobGJXVWlPaUpvZEhSd2N5SjlYU3dpWTI5dWRHVjRkQ0k2ZTMxOS5yZ1p0Rm9pRjNfRmx4cTdRd1c1TVVxaHYxblBvMkxuZmJ6Vmhtd2FRd3FTbldwTkZ1WllJQlZaR0I1RHdoOC1kR1l0NVlIdGNTc0F0cTlDYzJ3ZUtZWUJqZ0FTaTY3VGhCTHUxOUJoT3pPOHJQU3BWbWdBeHRRS2dVek9RTGpveXFIbmpDVzc3RG1BX3IwWmxnSHh0ZkZ0cTBIemxIeG9DVWVMWGRyV1ZYMTB2anJYQ0VJTUtER1RvTkxMOWdDSFJVc2R4R2U2aGVmRlc3d1hrX2RsX0lBZW9HeUg4eF92cXJBQmppb1FkODhXUEs0NHZJRXRrSlAydEZtclN5T3lYd0F3dkU2VGhaLVg2TEp3b3dyY0JHSFRuZnNDaXdzMVV1LWNNckEzWjJTdUhCZWYzb2RzYV9uUVd5MG5tXzVoZTNzUUhkVXozNmpQV05Wc3lfaEdlTkE=', 'https', 's3.openshift-storage.svc.cluster.local:443', 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=zT2qfB5%2FYMe%2Fo9Vfn7TBT5yoLIA%3D&Expires=1758876398'] gunicorn-web stdout | 2025-09-26 08:36:38,746 [242] [DEBUG] [app] Starting request: urn:request:dfc7b0b3-64a0-4e11-b091-2c24a52d780a (/_storage_proxy_auth) {'X-Forwarded-For': '3.131.182.156'} gunicorn-web stdout | 2025-09-26 08:36:38,746 [242] [DEBUG] [storage.downloadproxy] Got token b'eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1Nzk4LCJpYXQiOjE3NTg4NzU3OTgsImV4cCI6MTc1ODg3NjM5OCwic3ViIjoic3RvcmFnZXByb3h5IiwiYWNjZXNzIjpbeyJ0eXBlIjoic3RvcmFnZXByb3h5IiwidXJpIjoicXVheS1kYXRhc3RvcmUtZTI5YzM5OTQtNjJlYi00ZTlmLTk1NTAtYmFhMTFmODc0MDg0L2RhdGFzdG9yYWdlL3JlZ2lzdHJ5L3NoYTI1Ni9hMy9hM2VkOTVjYWViMDJmZmU2OGNkZDlmZDg0NDA2NjgwYWU5M2Q2MzNjYjE2NDIyZDAwZThhN2MyMjk1NWI0NmQ0P0FXU0FjY2Vzc0tleUlkPUtxVUFodjYwQUdsQUREcTBNY0taJlNpZ25hdHVyZT01bTd3dmNIbkRnWWFYRVJBYXdrVlJZYWtOY2clM0QmRXhwaXJlcz0xNzU4ODc2Mzk4IiwiaG9zdCI6InMzLm9wZW5zaGlmdC1zdG9yYWdlLnN2Yy5jbHVzdGVyLmxvY2FsOjQ0MyIsInNjaGVtZSI6Imh0dHBzIn1dLCJjb250ZXh0Ijp7fX0.ESb94QNprnd6E9NRk_k1Le9V3cmPjtqnbMVHL7v1GTAOSiiFwlX5GzOdLamjE9yRUQ3zzlypK5OnI_a4Wt9t8L4SYb1BAJLj3rIsxCijAU6Q8eBTn9TwFDJdYPPwMua_4TSyU_QJ2D_2demX3u-hJmvt35tM3lgFygJ71iOBpDY356gyBr-8hBTPAHy3GMHAtSwcSoLyjtI8VjSGfHCnXlDSSd4K_jeJgUNdrV5zS2lFr1by4OmzRi5jQcgmLyrdRbauXOfIT3l3HE7Bgf82gCPkflEK95W2xiXBGhoII86q4LD5MJaLBBIDfKy_yZ6yw0ggkSoa34rczePF0ZogpQ' for storage proxy auth request /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU56azRMQ0pwWVhRaU9qRTNOVGc0TnpVM09UZ3NJbVY0Y0NJNk1UYzFPRGczTmpNNU9Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE15OWhNMlZrT1RWallXVmlNREptWm1VMk9HTmtaRGxtWkRnME5EQTJOamd3WVdVNU0yUTJNek5qWWpFMk5ESXlaREF3WlRoaE4yTXlNamsxTldJME5tUTBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDAxYlRkM2RtTklia1JuV1dGWVJWSkJZWGRyVmxKWllXdE9ZMmNsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTXprNElpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuRVNiOTRRTnBybmQ2RTlOUmtfazFMZTlWM2NtUGp0cW5iTVZITDd2MUdUQU9TaWlGd2xYNUd6T2RMYW1qRTl5UlVRM3p6bHlwSzVPbklfYTRXdDl0OEw0U1liMUJBSkxqM3JJc3hDaWpBVTZROGVCVG45VHdGREpkWVBQd011YV80VFN5VV9RSjJEXzJkZW1YM3UtaEptdnQzNXRNM2xnRnlnSjcxaU9CcERZMzU2Z3lCci04aEJUUEFIeTNHTUhBdFN3Y1NvTHlqdEk4VmpTR2ZIQ25YbERTU2Q0S19qZUpnVU5kclY1elMybEZyMWJ5NE9telJpNWpRY2dtTHlyZFJiYXVYT2ZJVDNsM0hFN0JnZjgyZ0NQa2ZsRUs5NVcyeGlYQkdob0lJODZxNExENU1KYUxCQklEZkt5X3laNnl3MGdna1NvYTM0cmN6ZVBGMFpvZ3BR/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=5m7wvcHnDgYaXERAawkVRYakNcg%3D&Expires=1758876398 with parts ['ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU56azRMQ0pwWVhRaU9qRTNOVGc0TnpVM09UZ3NJbVY0Y0NJNk1UYzFPRGczTmpNNU9Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE15OWhNMlZrT1RWallXVmlNREptWm1VMk9HTmtaRGxtWkRnME5EQTJOamd3WVdVNU0yUTJNek5qWWpFMk5ESXlaREF3WlRoaE4yTXlNamsxTldJME5tUTBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDAxYlRkM2RtTklia1JuV1dGWVJWSkJZWGRyVmxKWllXdE9ZMmNsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTXprNElpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuRVNiOTRRTnBybmQ2RTlOUmtfazFMZTlWM2NtUGp0cW5iTVZITDd2MUdUQU9TaWlGd2xYNUd6T2RMYW1qRTl5UlVRM3p6bHlwSzVPbklfYTRXdDl0OEw0U1liMUJBSkxqM3JJc3hDaWpBVTZROGVCVG45VHdGREpkWVBQd011YV80VFN5VV9RSjJEXzJkZW1YM3UtaEptdnQzNXRNM2xnRnlnSjcxaU9CcERZMzU2Z3lCci04aEJUUEFIeTNHTUhBdFN3Y1NvTHlqdEk4VmpTR2ZIQ25YbERTU2Q0S19qZUpnVU5kclY1elMybEZyMWJ5NE9telJpNWpRY2dtTHlyZFJiYXVYT2ZJVDNsM0hFN0JnZjgyZ0NQa2ZsRUs5NVcyeGlYQkdob0lJODZxNExENU1KYUxCQklEZkt5X3laNnl3MGdna1NvYTM0cmN6ZVBGMFpvZ3BR', 'https', 's3.openshift-storage.svc.cluster.local:443', 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=5m7wvcHnDgYaXERAawkVRYakNcg%3D&Expires=1758876398'] gunicorn-web stdout | 2025-09-26 08:36:38,747 [241] [DEBUG] [app] Ending request: urn:request:0a469a45-5688-444b-bd9b-ceb621390683 (/_storage_proxy_auth) {'endpoint': '_storage_proxy_auth', 'request_id': 'urn:request:0a469a45-5688-444b-bd9b-ceb621390683', 'remote_addr': '3.131.182.156', 'http_method': 'GET', 'original_url': 'https://web_app_server/_storage_proxy_auth', 'path': '/_storage_proxy_auth', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Go-http-client/1.1'} gunicorn-registry stdout | 2025-09-26 08:36:38,747 [257] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [2, 'sha256:a1c858aaff07c8da76e480d63c94e025c6317862dd2825c5ab2f4bf138a4c5dd', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5",\n "size": 593\n },\n "layers": [\n {\n "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",\n "digest": "sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c",\n "size": 3500929\n }\n ],\n "annotations": {\n "com.docker.official-images.bashbrew.arch": "arm32v6",\n "org.opencontainers.image.base.name": "scratch",\n "org.opencontainers.image.created": "2025-05-30T16:20:41Z",\n "org.opencontainers.image.revision": "5213c5a71c73d39d5896657909e753effb1c05ff",\n "org.opencontainers.image.source": "https://github.com/alpinelinux/docker-alpine.git#5213c5a71c73d39d5896657909e753effb1c05ff:armhf",\n "org.opencontainers.image.url": "https://hub.docker.com/_/alpine",\n "org.opencontainers.image.version": "3.22.0"\n }\n}', 'application/vnd.oci.image.config.v1+json', 3500929, None, True, None, True]) gunicorn-web stdout | 2025-09-26 08:36:38,747 [241] [INFO] [gunicorn.access] 3.131.182.156 - - [26/Sep/2025:08:36:38 +0000] "GET /_storage_proxy_auth HTTP/1.0" 200 2 "-" "Go-http-client/1.1" dnsmasq stderr | dnsmasq: nameserver 172.30.0.10 refused to do a recursive query gunicorn-registry stdout | 2025-09-26 08:36:38,749 [257] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [2, 4, 14, 2, 4, 15]) gunicorn-web stdout | 2025-09-26 08:36:38,749 [242] [DEBUG] [app] Ending request: urn:request:dfc7b0b3-64a0-4e11-b091-2c24a52d780a (/_storage_proxy_auth) {'endpoint': '_storage_proxy_auth', 'request_id': 'urn:request:dfc7b0b3-64a0-4e11-b091-2c24a52d780a', 'remote_addr': '3.131.182.156', 'http_method': 'GET', 'original_url': 'https://web_app_server/_storage_proxy_auth', 'path': '/_storage_proxy_auth', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Go-http-client/1.1'} gunicorn-web stdout | 2025-09-26 08:36:38,750 [242] [INFO] [gunicorn.access] 3.131.182.156 - - [26/Sep/2025:08:36:38 +0000] "GET /_storage_proxy_auth HTTP/1.0" 200 2 "-" "Go-http-client/1.1" gunicorn-registry stdout | 2025-09-26 08:36:38,751 [257] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,753 [257] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [3, 1]) gunicorn-registry stdout | 2025-09-26 08:36:38,755 [257] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 15, 4, 1]) gunicorn-registry stdout | 2025-09-26 08:36:38,757 [257] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 14, 4, 1]) gunicorn-registry stdout | 2025-09-26 08:36:38,759 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,760 [257] [INFO] [data.model.quota] updating namespace size for manifest 4 in namespace 3, QuotaOperation.ADD 3501522 gunicorn-registry stdout | 2025-09-26 08:36:38,760 [257] [DEBUG] [peewee] ('UPDATE "quotanamespacesize" SET "size_bytes" = ("quotanamespacesize"."size_bytes" + %s) WHERE ("quotanamespacesize"."namespace_user_id" = %s)', [3501522, 3]) gunicorn-registry stdout | 2025-09-26 08:36:38,762 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,764 [257] [INFO] [data.model.quota] updating repository size for manifest 4 in repository 2, QuotaOperation.ADD 3501522 gunicorn-registry stdout | 2025-09-26 08:36:38,764 [257] [DEBUG] [peewee] ('UPDATE "quotarepositorysize" SET "size_bytes" = ("quotarepositorysize"."size_bytes" + %s) WHERE ("quotarepositorysize"."repository_id" = %s)', [3501522, 2]) gunicorn-registry stdout | 2025-09-26 08:36:38,766 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [4, None, 1758879398765, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,769 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "tagkind" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:38,771 [257] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-fb7e8689-17c8-43c8-abf2-247db276c544', 2, 4, 1758875798765, 1758879398765, False, True, False, 1]) gunicorn-registry stdout | 2025-09-26 08:36:38,775 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,778 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['570164b8-53bc-42a4-b733-6ed2db166d26']) gunicorn-registry stdout | 2025-09-26 08:36:38,782 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:38,783 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:38,784 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/22/2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5'} gunicorn-registry stdout | 2025-09-26 08:36:38,784 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:38,784 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:38,784 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:38,784 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:38,784 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:38,785 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:38,785 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:38,785 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:38,785 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:38,785 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:38,785 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:38,785 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:38,785 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:38,785 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:38,786 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/22/2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/22/2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/22/2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/22/2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:38,786 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:38,786 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:38,786 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:38,786 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:38,787 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:38,787 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/22/2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083638Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:38,787 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083638Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | f2607a85a7d1e40546bd81de750547886d34684ba2092db3725ff916f658c36a gunicorn-registry stdout | 2025-09-26 08:36:38,787 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 0bd2346ee04e793f630546b51b47571392ca4287582bf7f9b330e9ff0ad66d6a gunicorn-registry stdout | 2025-09-26 08:36:38,787 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:38,787 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:38,787 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:38 +0000] "GET /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU56azRMQ0pwWVhRaU9qRTNOVGc0TnpVM09UZ3NJbVY0Y0NJNk1UYzFPRGczTmpNNU9Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE15OWhNMlZrT1RWallXVmlNREptWm1VMk9HTmtaRGxtWkRnME5EQTJOamd3WVdVNU0yUTJNek5qWWpFMk5ESXlaREF3WlRoaE4yTXlNamsxTldJME5tUTBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDAxYlRkM2RtTklia1JuV1dGWVJWSkJZWGRyVmxKWllXdE9ZMmNsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTXprNElpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuRVNiOTRRTnBybmQ2RTlOUmtfazFMZTlWM2NtUGp0cW5iTVZITDd2MUdUQU9TaWlGd2xYNUd6T2RMYW1qRTl5UlVRM3p6bHlwSzVPbklfYTRXdDl0OEw0U1liMUJBSkxqM3JJc3hDaWpBVTZROGVCVG45VHdGREpkWVBQd011YV80VFN5VV9RSjJEXzJkZW1YM3UtaEptdnQzNXRNM2xnRnlnSjcxaU9CcERZMzU2Z3lCci04aEJUUEFIeTNHTUhBdFN3Y1NvTHlqdEk4VmpTR2ZIQ25YbERTU2Q0S19qZUpnVU5kclY1elMybEZyMWJ5NE9telJpNWpRY2dtTHlyZFJiYXVYT2ZJVDNsM0hFN0JnZjgyZ0NQa2ZsRUs5NVcyeGlYQkdob0lJODZxNExENU1KYUxCQklEZkt5X3laNnl3MGdna1NvYTM0cmN6ZVBGMFpvZ3BR/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=5m7wvcHnDgYaXERAawkVRYakNcg%3D&Expires=1758876398 HTTP/1.1" 200 32 "-" "Go-http-client/1.1" (0.111 2405 0.106) gunicorn-registry stdout | 2025-09-26 08:36:38,859 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/22/2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5 HTTP/1.1" 200 593 gunicorn-registry stdout | 2025-09-26 08:36:38,859 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8k5p-fy9o2o-iml', 'x-amz-id-2': 'mg0l8k5p-fy9o2o-iml', 'ETag': '"fbce6db1c08805ef6b3a57204c111a92-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:38 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '593', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:38 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:38,859 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:36:38,860 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:38,860 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:38,860 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:38,861 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8k5p-fy9o2o-iml', 'HostId': 'mg0l8k5p-fy9o2o-iml', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8k5p-fy9o2o-iml', 'x-amz-id-2': 'mg0l8k5p-fy9o2o-iml', 'etag': '"fbce6db1c08805ef6b3a57204c111a92-1"', 'last-modified': 'Fri, 26 Sep 2025 08:36:38 GMT', 'content-type': 'application/octet-stream', 'content-length': '593', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:36:38 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 36, 38, tzinfo=tzutc()), 'ContentLength': 593, 'ETag': '"fbce6db1c08805ef6b3a57204c111a92-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:36:38,863 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "mediatype" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:38,867 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."mutable" FROM "labelsourcetype" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:38,872 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-web stdout | 2025-09-26 08:36:38,872 [239] [DEBUG] [app] Starting request: urn:request:2febffb9-a0b4-4def-b32a-bf4570bd9944 (/_storage_proxy_auth) {'X-Forwarded-For': '3.131.182.156'} gunicorn-web stdout | 2025-09-26 08:36:38,873 [239] [DEBUG] [storage.downloadproxy] Got token b'eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1Nzk4LCJpYXQiOjE3NTg4NzU3OTgsImV4cCI6MTc1ODg3NjM5OCwic3ViIjoic3RvcmFnZXByb3h5IiwiYWNjZXNzIjpbeyJ0eXBlIjoic3RvcmFnZXByb3h5IiwidXJpIjoicXVheS1kYXRhc3RvcmUtZTI5YzM5OTQtNjJlYi00ZTlmLTk1NTAtYmFhMTFmODc0MDg0L2RhdGFzdG9yYWdlL3JlZ2lzdHJ5L3NoYTI1Ni9hOC9hODU3NmUwMmExMWI5ODQ4Yzk3NjE3YjhjMTA5ZWFiODgwY2IxMzc3NDE3OGZjNTM3ODgzNzNiOTY5ZTM2NmYxP0FXU0FjY2Vzc0tleUlkPUtxVUFodjYwQUdsQUREcTBNY0taJlNpZ25hdHVyZT04UEhwRElzdFowQXhjb2Z4WVhYZ0hMZXdSUzglM0QmRXhwaXJlcz0xNzU4ODc2Mzk4IiwiaG9zdCI6InMzLm9wZW5zaGlmdC1zdG9yYWdlLnN2Yy5jbHVzdGVyLmxvY2FsOjQ0MyIsInNjaGVtZSI6Imh0dHBzIn1dLCJjb250ZXh0Ijp7fX0.oct6pPAqrTCKmIePu8NQgp2QXgMyZSPDAvzf2DiqJUUZt5oiZtqp2S4OfOb0sTjJOk0ogRDKF8Ha11PGSn2dLtr_BBx7XeriqJdrNZXqelwO3ODOTXItTf22oYW-IWJ-XR3MrO-LIE9OyP0yepwogxtUnwmazRceGJTrJnbW0CTnhigLswA7pnvIisxF5aa0m0QjqKkM4bHrjV7wDrAAkyg20snhW0-21a5f7YrkitJTxKuGyZ_TvQeyZj77ZQSakvZ8heER41K6QIqDl3Xb91WLN762g9ZyPrkryoz4p2u-l2QRtdDKpbPw3nsCeuMkZuj1MT4SRXRjKz8eHeZzQA' for storage proxy auth request /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU56azRMQ0pwWVhRaU9qRTNOVGc0TnpVM09UZ3NJbVY0Y0NJNk1UYzFPRGczTmpNNU9Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE9DOWhPRFUzTm1Vd01tRXhNV0k1T0RRNFl6azNOakUzWWpoak1UQTVaV0ZpT0Rnd1kySXhNemMzTkRFM09HWmpOVE0zT0Rnek56TmlPVFk1WlRNMk5tWXhQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDA0VUVod1JFbHpkRm93UVhoamIyWjRXVmhZWjBoTVpYZFNVemdsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTXprNElpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAub2N0NnBQQXFyVENLbUllUHU4TlFncDJRWGdNeVpTUERBdnpmMkRpcUpVVVp0NW9pWnRxcDJTNE9mT2Iwc1RqSk9rMG9nUkRLRjhIYTExUEdTbjJkTHRyX0JCeDdYZXJpcUpkck5aWHFlbHdPM09ET1RYSXRUZjIyb1lXLUlXSi1YUjNNck8tTElFOU95UDB5ZXB3b2d4dFVud21helJjZUdKVHJKbmJXMENUbmhpZ0xzd0E3cG52SWlzeEY1YWEwbTBRanFLa000YkhyalY3d0RyQUFreWcyMHNuaFcwLTIxYTVmN1lya2l0SlR4S3VHeVpfVHZRZXlaajc3WlFTYWt2WjhoZUVSNDFLNlFJcURsM1hiOTFXTE43NjJnOVp5UHJrcnlvejRwMnUtbDJRUnRkREtwYlB3M25zQ2V1TWtadWoxTVQ0U1JYUmpLejhlSGVaelFB/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=8PHpDIstZ0AxcofxYXXgHLewRS8%3D&Expires=1758876398 with parts ['ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU56azRMQ0pwWVhRaU9qRTNOVGc0TnpVM09UZ3NJbVY0Y0NJNk1UYzFPRGczTmpNNU9Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE9DOWhPRFUzTm1Vd01tRXhNV0k1T0RRNFl6azNOakUzWWpoak1UQTVaV0ZpT0Rnd1kySXhNemMzTkRFM09HWmpOVE0zT0Rnek56TmlPVFk1WlRNMk5tWXhQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDA0VUVod1JFbHpkRm93UVhoamIyWjRXVmhZWjBoTVpYZFNVemdsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTXprNElpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAub2N0NnBQQXFyVENLbUllUHU4TlFncDJRWGdNeVpTUERBdnpmMkRpcUpVVVp0NW9pWnRxcDJTNE9mT2Iwc1RqSk9rMG9nUkRLRjhIYTExUEdTbjJkTHRyX0JCeDdYZXJpcUpkck5aWHFlbHdPM09ET1RYSXRUZjIyb1lXLUlXSi1YUjNNck8tTElFOU95UDB5ZXB3b2d4dFVud21helJjZUdKVHJKbmJXMENUbmhpZ0xzd0E3cG52SWlzeEY1YWEwbTBRanFLa000YkhyalY3d0RyQUFreWcyMHNuaFcwLTIxYTVmN1lya2l0SlR4S3VHeVpfVHZRZXlaajc3WlFTYWt2WjhoZUVSNDFLNlFJcURsM1hiOTFXTE43NjJnOVp5UHJrcnlvejRwMnUtbDJRUnRkREtwYlB3M25zQ2V1TWtadWoxTVQ0U1JYUmpLejhlSGVaelFB', 'https', 's3.openshift-storage.svc.cluster.local:443', 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=8PHpDIstZ0AxcofxYXXgHLewRS8%3D&Expires=1758876398'] gunicorn-web stdout | 2025-09-26 08:36:38,873 [242] [DEBUG] [app] Starting request: urn:request:f09bc44c-6d07-41af-b77e-483edae9b779 (/_storage_proxy_auth) {'X-Forwarded-For': '3.131.182.156'} gunicorn-web stdout | 2025-09-26 08:36:38,874 [242] [DEBUG] [storage.downloadproxy] Got token b'eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1Nzk4LCJpYXQiOjE3NTg4NzU3OTgsImV4cCI6MTc1ODg3NjM5OCwic3ViIjoic3RvcmFnZXByb3h5IiwiYWNjZXNzIjpbeyJ0eXBlIjoic3RvcmFnZXByb3h5IiwidXJpIjoicXVheS1kYXRhc3RvcmUtZTI5YzM5OTQtNjJlYi00ZTlmLTk1NTAtYmFhMTFmODc0MDg0L2RhdGFzdG9yYWdlL3JlZ2lzdHJ5L3NoYTI1Ni9iNC9iNGQ3Y2E5NDU5ZmEyNjgxYTM0OGQyMjllYjZlMDQxNWEwYjI4NTE5N2MzOWM4NDJlZjE4MmVhYjU3YjIwMDlkP0FXU0FjY2Vzc0tleUlkPUtxVUFodjYwQUdsQUREcTBNY0taJlNpZ25hdHVyZT1XQ0tOY0VkSWJSa21SNUZKeU16MEt2bU1ZdTAlM0QmRXhwaXJlcz0xNzU4ODc2Mzk4IiwiaG9zdCI6InMzLm9wZW5zaGlmdC1zdG9yYWdlLnN2Yy5jbHVzdGVyLmxvY2FsOjQ0MyIsInNjaGVtZSI6Imh0dHBzIn1dLCJjb250ZXh0Ijp7fX0.RxY1S_CoNpwjzV8i9KYVQhjfCb6CK8nCKa7jjLWGBVVvFBC2ubBGRbl1qngErZ-H5Ax4BCr751VMmp87hd4pw7wvaXCCiQvQDw7I8aZeZpx81ujXZI6iZN10_r-sb_3j4iAWlglvEZXOkrv9ytBYMNfAL-tLnmnMCCW0hdPGwsCIexxcwfc38pNiv2rlYfV0Fh2ttw3HyroqMmn3Y7IzmMHMRHKPcTsDGg4gGuDTXmJnELX79EKBeMW1H3Stei6iZmM7Z9QsZMklGa1fAG-P8n8dBsKrxvL0Nc_OI_6AjVD7dOa65jEk_qQVY2CGgX8wIeEvRy9Pq3pVC1z0pEbr-A' for storage proxy auth request /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU56azRMQ0pwWVhRaU9qRTNOVGc0TnpVM09UZ3NJbVY0Y0NJNk1UYzFPRGczTmpNNU9Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aU5DOWlOR1EzWTJFNU5EVTVabUV5TmpneFlUTTBPR1F5TWpsbFlqWmxNRFF4TldFd1lqSTROVEU1TjJNek9XTTROREpsWmpFNE1tVmhZalUzWWpJd01EbGtQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFYUTB0T1kwVmtTV0pTYTIxU05VWktlVTE2TUV0MmJVMVpkVEFsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTXprNElpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuUnhZMVNfQ29OcHdqelY4aTlLWVZRaGpmQ2I2Q0s4bkNLYTdqakxXR0JWVnZGQkMydWJCR1JibDFxbmdFclotSDVBeDRCQ3I3NTFWTW1wODdoZDRwdzd3dmFYQ0NpUXZRRHc3SThhWmVacHg4MXVqWFpJNmlaTjEwX3Itc2JfM2o0aUFXbGdsdkVaWE9rcnY5eXRCWU1OZkFMLXRMbm1uTUNDVzBoZFBHd3NDSWV4eGN3ZmMzOHBOaXYycmxZZlYwRmgydHR3M0h5cm9xTW1uM1k3SXptTUhNUkhLUGNUc0RHZzRnR3VEVFhtSm5FTFg3OUVLQmVNVzFIM1N0ZWk2aVptTTdaOVFzWk1rbEdhMWZBRy1QOG44ZEJzS3J4dkwwTmNfT0lfNkFqVkQ3ZE9hNjVqRWtfcVFWWTJDR2dYOHdJZUV2Unk5UHEzcFZDMXowcEVici1B/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=WCKNcEdIbRkmR5FJyMz0KvmMYu0%3D&Expires=1758876398 with parts ['ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU56azRMQ0pwWVhRaU9qRTNOVGc0TnpVM09UZ3NJbVY0Y0NJNk1UYzFPRGczTmpNNU9Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aU5DOWlOR1EzWTJFNU5EVTVabUV5TmpneFlUTTBPR1F5TWpsbFlqWmxNRFF4TldFd1lqSTROVEU1TjJNek9XTTROREpsWmpFNE1tVmhZalUzWWpJd01EbGtQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFYUTB0T1kwVmtTV0pTYTIxU05VWktlVTE2TUV0MmJVMVpkVEFsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTXprNElpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuUnhZMVNfQ29OcHdqelY4aTlLWVZRaGpmQ2I2Q0s4bkNLYTdqakxXR0JWVnZGQkMydWJCR1JibDFxbmdFclotSDVBeDRCQ3I3NTFWTW1wODdoZDRwdzd3dmFYQ0NpUXZRRHc3SThhWmVacHg4MXVqWFpJNmlaTjEwX3Itc2JfM2o0aUFXbGdsdkVaWE9rcnY5eXRCWU1OZkFMLXRMbm1uTUNDVzBoZFBHd3NDSWV4eGN3ZmMzOHBOaXYycmxZZlYwRmgydHR3M0h5cm9xTW1uM1k3SXptTUhNUkhLUGNUc0RHZzRnR3VEVFhtSm5FTFg3OUVLQmVNVzFIM1N0ZWk2aVptTTdaOVFzWk1rbEdhMWZBRy1QOG44ZEJzS3J4dkwwTmNfT0lfNkFqVkQ3ZE9hNjVqRWtfcVFWWTJDR2dYOHdJZUV2Unk5UHEzcFZDMXowcEVici1B', 'https', 's3.openshift-storage.svc.cluster.local:443', 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=WCKNcEdIbRkmR5FJyMz0KvmMYu0%3D&Expires=1758876398'] gunicorn-web stdout | 2025-09-26 08:36:38,875 [242] [DEBUG] [app] Ending request: urn:request:f09bc44c-6d07-41af-b77e-483edae9b779 (/_storage_proxy_auth) {'endpoint': '_storage_proxy_auth', 'request_id': 'urn:request:f09bc44c-6d07-41af-b77e-483edae9b779', 'remote_addr': '3.131.182.156', 'http_method': 'GET', 'original_url': 'https://web_app_server/_storage_proxy_auth', 'path': '/_storage_proxy_auth', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Go-http-client/1.1'} gunicorn-web stdout | 2025-09-26 08:36:38,875 [242] [INFO] [gunicorn.access] 3.131.182.156 - - [26/Sep/2025:08:36:38 +0000] "GET /_storage_proxy_auth HTTP/1.0" 200 2 "-" "Go-http-client/1.1" gunicorn-web stdout | 2025-09-26 08:36:38,877 [239] [DEBUG] [app] Ending request: urn:request:2febffb9-a0b4-4def-b32a-bf4570bd9944 (/_storage_proxy_auth) {'endpoint': '_storage_proxy_auth', 'request_id': 'urn:request:2febffb9-a0b4-4def-b32a-bf4570bd9944', 'remote_addr': '3.131.182.156', 'http_method': 'GET', 'original_url': 'https://web_app_server/_storage_proxy_auth', 'path': '/_storage_proxy_auth', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Go-http-client/1.1'} gunicorn-registry stdout | 2025-09-26 08:36:38,877 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['de239014-7f2d-4a2f-81b4-9f6d69e38d99', 'com.docker.official-images.bashbrew.arch', 'arm32v6', 1, 1]) gunicorn-web stdout | 2025-09-26 08:36:38,877 [239] [INFO] [gunicorn.access] 3.131.182.156 - - [26/Sep/2025:08:36:38 +0000] "GET /_storage_proxy_auth HTTP/1.0" 200 2 "-" "Go-http-client/1.1" gunicorn-registry stdout | 2025-09-26 08:36:38,880 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 4, 8]) gunicorn-registry stdout | 2025-09-26 08:36:38,884 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,888 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['cff6c566-f7b4-4086-ab1f-c0494fd37644', 'org.opencontainers.image.base.name', 'scratch', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:38,890 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 4, 9]) gunicorn-registry stdout | 2025-09-26 08:36:38,895 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,899 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['bd65dc4e-2b73-4306-b422-1860e5546a02', 'org.opencontainers.image.created', '2025-05-30T16:20:41Z', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:38,901 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 4, 10]) gunicorn-registry stdout | 2025-09-26 08:36:38,905 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,909 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['9dd7b5fc-31cc-4208-8f1f-66d64328ed20', 'org.opencontainers.image.revision', '5213c5a71c73d39d5896657909e753effb1c05ff', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:38,911 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 4, 11]) gunicorn-registry stdout | 2025-09-26 08:36:38,915 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,919 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['8a558b4d-fc78-4fd4-8e67-0350be6c0401', 'org.opencontainers.image.source', 'https://github.com/alpinelinux/docker-alpine.git#5213c5a71c73d39d5896657909e753effb1c05ff:armhf', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:38,921 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 4, 12]) gunicorn-registry stdout | 2025-09-26 08:36:38,925 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,928 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['88cee7b7-73d6-4934-bb79-32c40e7291cb', 'org.opencontainers.image.url', 'https://hub.docker.com/_/alpine', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:38,931 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 4, 13]) gunicorn-registry stdout | 2025-09-26 08:36:38,935 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:38,940 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['96145b17-9652-4bd7-a6f6-3c7e4584d62e', 'org.opencontainers.image.version', '3.22.0', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:38,942 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 4, 14]) gunicorn-registry stdout | 2025-09-26 08:36:38,946 [257] [DEBUG] [app] Ending request: urn:request:d2835228-0e51-479f-8312-76b15afa960f (/v2/testorg/alpine/manifests/sha256:a1c858aaff07c8da76e480d63c94e025c6317862dd2825c5ab2f4bf138a4c5dd) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:d2835228-0e51-479f-8312-76b15afa960f', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/manifests/sha256:a1c858aaff07c8da76e480d63c94e025c6317862dd2825c5ab2f4bf138a4c5dd', 'path': '/v2/testorg/alpine/manifests/sha256:a1c858aaff07c8da76e480d63c94e025c6317862dd2825c5ab2f4bf138a4c5dd', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:2283721971a18c443314dca49231fb058e4956cc1558113bbc3fc407ffa824b5', 'size': 593}, 'layers': [{'mediaType': 'application/vnd.oci.image.layer.v1.tar+gzip', 'digest': 'sha256:5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c', 'size': 3500929}], 'annotations': {'com.docker.official-images.bashbrew.arch': 'arm32v6', 'org.opencontainers.image.base.name': 'scratch', 'org.opencontainers.image.created': '2025-05-30T16:20:41Z', 'org.opencontainers.image.revision': '5213c5a71c73d39d5896657909e753effb1c05ff', 'org.opencontainers.image.source': 'https://github.com/alpinelinux/docker-alpine.git#5213c5a71c73d39d5896657909e753effb1c05ff:armhf', 'org.opencontainers.image.url': 'https://hub.docker.com/_/alpine', 'org.opencontainers.image.version': '3.22.0'}}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:38,947 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:38,947 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:38,947 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:38 +0000] "PUT /v2/testorg/alpine/manifests/sha256:a1c858aaff07c8da76e480d63c94e025c6317862dd2825c5ab2f4bf138a4c5dd HTTP/1.1" 201 2 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:38 +0000] "PUT /v2/testorg/alpine/manifests/sha256:a1c858aaff07c8da76e480d63c94e025c6317862dd2825c5ab2f4bf138a4c5dd HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.224 2843 0.223) proxycacheblobworker stdout | 2025-09-26 08:36:39,183 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} repositorygcworker stdout | 2025-09-26 08:36:39,235 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:36:39,236 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:23.149141+00:00 (in 43.912633 seconds) repositorygcworker stdout | 2025-09-26 08:36:39,236 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:39 GMT)" (scheduled at 2025-09-26 08:36:39.235682+00:00) repositorygcworker stdout | 2025-09-26 08:36:39,236 [86] [DEBUG] [workers.queueworker] Running watchdog. repositorygcworker stdout | 2025-09-26 08:36:39,236 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:39 GMT)" executed successfully buildlogsarchiver stdout | 2025-09-26 08:36:39,352 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:36:39,352 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:09.351551+00:00 (in 29.999252 seconds) buildlogsarchiver stdout | 2025-09-26 08:36:39,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:09 GMT)" (scheduled at 2025-09-26 08:36:39.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:36:39,353 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 36, 39, 352557), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:36:39,367 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:36:39,367 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:36:39,367 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:09 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:36:39,454 [257] [DEBUG] [app] Starting request: urn:request:974ec802-e090-42af-97f5-9c0b0604913e (/v2/testorg/alpine/blobs/sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:39,454 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:39,455 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:39,455 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:39,456 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:39,456 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:39,456 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:39,456 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:39,456 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:39,456 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:39,461 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:39,466 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:39,466 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735_2 gunicorn-registry stdout | 2025-09-26 08:36:39,466 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:39,468 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:39,472 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:39,476 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:39,479 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:39,483 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:39,487 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735_2: None gunicorn-registry stdout | 2025-09-26 08:36:39,487 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735_2: None gunicorn-registry stdout | 2025-09-26 08:36:39,487 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:39,488 [257] [DEBUG] [app] Ending request: urn:request:974ec802-e090-42af-97f5-9c0b0604913e (/v2/testorg/alpine/blobs/sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:974ec802-e090-42af-97f5-9c0b0604913e', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735', 'path': '/v2/testorg/alpine/blobs/sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:39,488 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:39,488 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:39,488 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:39 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:39 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.035 1714 0.035) gunicorn-registry stdout | 2025-09-26 08:36:39,529 [250] [DEBUG] [app] Starting request: urn:request:8ca25aa7-4091-4a0a-9d08-382c7ad8fd12 (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:39,529 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:39,529 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:39,529 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:39,530 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:39,530 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:39,530 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:39,531 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:39,531 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:39,531 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:39,536 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:39,540 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:39,545 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:39,548 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:39,552 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:39,556 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:39,559 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:39,563 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, '40680dd4-f803-4db7-bc44-bfcb19245afd', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 39, 562780)]) gunicorn-registry stdout | 2025-09-26 08:36:39,567 [250] [DEBUG] [app] Ending request: urn:request:8ca25aa7-4091-4a0a-9d08-382c7ad8fd12 (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:8ca25aa7-4091-4a0a-9d08-382c7ad8fd12', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:39,567 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:39,567 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:39,568 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:39 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:39 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.040 1693 0.040) gunicorn-web stdout | 2025-09-26 08:36:39,842 [242] [DEBUG] [app] Starting request: urn:request:26d7656b-4e73-4d43-89ef-28b5d67fd44d (/_storage_proxy_auth) {'X-Forwarded-For': '3.131.182.156'} gunicorn-web stdout | 2025-09-26 08:36:39,842 [242] [DEBUG] [storage.downloadproxy] Got token b'eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1Nzk4LCJpYXQiOjE3NTg4NzU3OTgsImV4cCI6MTc1ODg3NjM5OCwic3ViIjoic3RvcmFnZXByb3h5IiwiYWNjZXNzIjpbeyJ0eXBlIjoic3RvcmFnZXByb3h5IiwidXJpIjoicXVheS1kYXRhc3RvcmUtZTI5YzM5OTQtNjJlYi00ZTlmLTk1NTAtYmFhMTFmODc0MDg0L2RhdGFzdG9yYWdlL3JlZ2lzdHJ5L3NoYTI1Ni80Yi80YjFhZjFlNTBjZGI1M2M3NGZiNmRiNjM2NjljOWVhNTM1ZTg3MDI4Y2UzNzdiMTVlMGFlNTcxNzFkODVjMTYwP0FXU0FjY2Vzc0tleUlkPUtxVUFodjYwQUdsQUREcTBNY0taJlNpZ25hdHVyZT02VDFRakdhZzI3V1d6UWtIVTRSbUEyTnN2UHMlM0QmRXhwaXJlcz0xNzU4ODc2Mzk4IiwiaG9zdCI6InMzLm9wZW5zaGlmdC1zdG9yYWdlLnN2Yy5jbHVzdGVyLmxvY2FsOjQ0MyIsInNjaGVtZSI6Imh0dHBzIn1dLCJjb250ZXh0Ijp7fX0.qFuvJH_7dk1eAeUm_lVzabqMZh0IWhYTv_9vLCw8t9fOgLGN-wmV99kfjt7GBGT3aqRCW3ePK43PecjTXOWAShXQPw6U_ZX-FuGavbW7uAo6hpKhCegIZOyrwdNAGJzQkQXDps2TdcF9mK6eMn2NWgGJxPjQ5leRjhCA1DQZ3vdY34XlEpyQufSQJO2mYnyKiXh8FFvT6gkV3Bid4NdsYAukuo3XWIREkVLat0FcyUyVabgS7pBJtlphbtazl3V4-EW6xdxFAbnODuZ-8tUP_0_vVVYjQMMr2Fi09LTnKURqC0Add59E5J8tvcfVv7YgFtf16rNLh4TMdSN2FS80FQ' for storage proxy auth request /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU56azRMQ0pwWVhRaU9qRTNOVGc0TnpVM09UZ3NJbVY0Y0NJNk1UYzFPRGczTmpNNU9Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4MFlpODBZakZoWmpGbE5UQmpaR0kxTTJNM05HWmlObVJpTmpNMk5qbGpPV1ZoTlRNMVpUZzNNREk0WTJVek56ZGlNVFZsTUdGbE5UY3hOekZrT0RWak1UWXdQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDAyVkRGUmFrZGhaekkzVjFkNlVXdElWVFJTYlVFeVRuTjJVSE1sTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTXprNElpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAucUZ1dkpIXzdkazFlQWVVbV9sVnphYnFNWmgwSVdoWVR2Xzl2TEN3OHQ5Zk9nTEdOLXdtVjk5a2ZqdDdHQkdUM2FxUkNXM2VQSzQzUGVjalRYT1dBU2hYUVB3NlVfWlgtRnVHYXZiVzd1QW82aHBLaENlZ0laT3lyd2ROQUdKelFrUVhEcHMyVGRjRjltSzZlTW4yTldnR0p4UGpRNWxlUmpoQ0ExRFFaM3ZkWTM0WGxFcHlRdWZTUUpPMm1ZbnlLaVhoOEZGdlQ2Z2tWM0JpZDROZHNZQXVrdW8zWFdJUkVrVkxhdDBGY3lVeVZhYmdTN3BCSnRscGhidGF6bDNWNC1FVzZ4ZHhGQWJuT0R1Wi04dFVQXzBfdlZWWWpRTU1yMkZpMDlMVG5LVVJxQzBBZGQ1OUU1Sjh0dmNmVnY3WWdGdGYxNnJOTGg0VE1kU04yRlM4MEZR/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=6T1QjGag27WWzQkHU4RmA2NsvPs%3D&Expires=1758876398 with parts ['ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU56azRMQ0pwWVhRaU9qRTNOVGc0TnpVM09UZ3NJbVY0Y0NJNk1UYzFPRGczTmpNNU9Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4MFlpODBZakZoWmpGbE5UQmpaR0kxTTJNM05HWmlObVJpTmpNMk5qbGpPV1ZoTlRNMVpUZzNNREk0WTJVek56ZGlNVFZsTUdGbE5UY3hOekZrT0RWak1UWXdQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDAyVkRGUmFrZGhaekkzVjFkNlVXdElWVFJTYlVFeVRuTjJVSE1sTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTXprNElpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAucUZ1dkpIXzdkazFlQWVVbV9sVnphYnFNWmgwSVdoWVR2Xzl2TEN3OHQ5Zk9nTEdOLXdtVjk5a2ZqdDdHQkdUM2FxUkNXM2VQSzQzUGVjalRYT1dBU2hYUVB3NlVfWlgtRnVHYXZiVzd1QW82aHBLaENlZ0laT3lyd2ROQUdKelFrUVhEcHMyVGRjRjltSzZlTW4yTldnR0p4UGpRNWxlUmpoQ0ExRFFaM3ZkWTM0WGxFcHlRdWZTUUpPMm1ZbnlLaVhoOEZGdlQ2Z2tWM0JpZDROZHNZQXVrdW8zWFdJUkVrVkxhdDBGY3lVeVZhYmdTN3BCSnRscGhidGF6bDNWNC1FVzZ4ZHhGQWJuT0R1Wi04dFVQXzBfdlZWWWpRTU1yMkZpMDlMVG5LVVJxQzBBZGQ1OUU1Sjh0dmNmVnY3WWdGdGYxNnJOTGg0VE1kU04yRlM4MEZR', 'https', 's3.openshift-storage.svc.cluster.local:443', 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=6T1QjGag27WWzQkHU4RmA2NsvPs%3D&Expires=1758876398'] gunicorn-web stdout | 2025-09-26 08:36:39,844 [242] [DEBUG] [app] Ending request: urn:request:26d7656b-4e73-4d43-89ef-28b5d67fd44d (/_storage_proxy_auth) {'endpoint': '_storage_proxy_auth', 'request_id': 'urn:request:26d7656b-4e73-4d43-89ef-28b5d67fd44d', 'remote_addr': '3.131.182.156', 'http_method': 'GET', 'original_url': 'https://web_app_server/_storage_proxy_auth', 'path': '/_storage_proxy_auth', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Go-http-client/1.1'} gunicorn-web stdout | 2025-09-26 08:36:39,844 [242] [INFO] [gunicorn.access] 3.131.182.156 - - [26/Sep/2025:08:36:39 +0000] "GET /_storage_proxy_auth HTTP/1.0" 200 2 "-" "Go-http-client/1.1" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:39 +0000] "GET /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU56azRMQ0pwWVhRaU9qRTNOVGc0TnpVM09UZ3NJbVY0Y0NJNk1UYzFPRGczTmpNNU9Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aU5DOWlOR1EzWTJFNU5EVTVabUV5TmpneFlUTTBPR1F5TWpsbFlqWmxNRFF4TldFd1lqSTROVEU1TjJNek9XTTROREpsWmpFNE1tVmhZalUzWWpJd01EbGtQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFYUTB0T1kwVmtTV0pTYTIxU05VWktlVTE2TUV0MmJVMVpkVEFsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTXprNElpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuUnhZMVNfQ29OcHdqelY4aTlLWVZRaGpmQ2I2Q0s4bkNLYTdqakxXR0JWVnZGQkMydWJCR1JibDFxbmdFclotSDVBeDRCQ3I3NTFWTW1wODdoZDRwdzd3dmFYQ0NpUXZRRHc3SThhWmVacHg4MXVqWFpJNmlaTjEwX3Itc2JfM2o0aUFXbGdsdkVaWE9rcnY5eXRCWU1OZkFMLXRMbm1uTUNDVzBoZFBHd3NDSWV4eGN3ZmMzOHBOaXYycmxZZlYwRmgydHR3M0h5cm9xTW1uM1k3SXptTUhNUkhLUGNUc0RHZzRnR3VEVFhtSm5FTFg3OUVLQmVNVzFIM1N0ZWk2aVptTTdaOVFzWk1rbEdhMWZBRy1QOG44ZEJzS3J4dkwwTmNfT0lfNkFqVkQ3ZE9hNjVqRWtfcVFWWTJDR2dYOHdJZUV2Unk5UHEzcFZDMXowcEVici1B/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b4/b4d7ca9459fa2681a348d229eb6e0415a0b285197c39c842ef182eab57b2009d?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=WCKNcEdIbRkmR5FJyMz0KvmMYu0%3D&Expires=1758876398 HTTP/1.1" 200 1493759 "-" "Go-http-client/1.1" (1.119 2405 1.116) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:40 +0000] "GET /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU56azRMQ0pwWVhRaU9qRTNOVGc0TnpVM09UZ3NJbVY0Y0NJNk1UYzFPRGczTmpNNU9Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4MFlpODBZakZoWmpGbE5UQmpaR0kxTTJNM05HWmlObVJpTmpNMk5qbGpPV1ZoTlRNMVpUZzNNREk0WTJVek56ZGlNVFZsTUdGbE5UY3hOekZrT0RWak1UWXdQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDAyVkRGUmFrZGhaekkzVjFkNlVXdElWVFJTYlVFeVRuTjJVSE1sTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTXprNElpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAucUZ1dkpIXzdkazFlQWVVbV9sVnphYnFNWmgwSVdoWVR2Xzl2TEN3OHQ5Zk9nTEdOLXdtVjk5a2ZqdDdHQkdUM2FxUkNXM2VQSzQzUGVjalRYT1dBU2hYUVB3NlVfWlgtRnVHYXZiVzd1QW82aHBLaENlZ0laT3lyd2ROQUdKelFrUVhEcHMyVGRjRjltSzZlTW4yTldnR0p4UGpRNWxlUmpoQ0ExRFFaM3ZkWTM0WGxFcHlRdWZTUUpPMm1ZbnlLaVhoOEZGdlQ2Z2tWM0JpZDROZHNZQXVrdW8zWFdJUkVrVkxhdDBGY3lVeVZhYmdTN3BCSnRscGhidGF6bDNWNC1FVzZ4ZHhGQWJuT0R1Wi04dFVQXzBfdlZWWWpRTU1yMkZpMDlMVG5LVVJxQzBBZGQ1OUU1Sjh0dmNmVnY3WWdGdGYxNnJOTGg0VE1kU04yRlM4MEZR/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4b/4b1af1e50cdb53c74fb6db63669c9ea535e87028ce377b15e0ae57171d85c160?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=6T1QjGag27WWzQkHU4RmA2NsvPs%3D&Expires=1758876398 HTTP/1.1" 200 645 "-" "Go-http-client/1.1" (0.205 2405 0.201) gunicorn-registry stdout | 2025-09-26 08:36:40,190 [257] [DEBUG] [app] Starting request: urn:request:699bd0f1-bca6-41d0-bdfd-b075870b7a74 (/v2/testorg/alpine/blobs/uploads/40680dd4-f803-4db7-bc44-bfcb19245afd) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:40,190 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '40680dd4-f803-4db7-bc44-bfcb19245afd', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:40,190 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:40,190 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:40,191 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:40,191 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:40,191 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:40,191 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:40,191 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:40,192 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,196 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,199 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,203 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,207 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,210 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,214 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,217 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:40,221 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['40680dd4-f803-4db7-bc44-bfcb19245afd', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,224 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:40,225 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:40,225 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:40,226 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:40,227 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/584364b4-ac0e-4987-b5cc-2fba1c298c13', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:40,227 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,227 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,227 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,227 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,227 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,227 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,227 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,227 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,227 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:40,227 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:40,227 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:40,227 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:40,227 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,227 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,227 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,227 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/584364b4-ac0e-4987-b5cc-2fba1c298c13?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/584364b4-ac0e-4987-b5cc-2fba1c298c13', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/584364b4-ac0e-4987-b5cc-2fba1c298c13?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/584364b4-ac0e-4987-b5cc-2fba1c298c13', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:40,228 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,228 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,228 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,228 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,228 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:40,228 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/584364b4-ac0e-4987-b5cc-2fba1c298c13 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083640Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:40,228 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083640Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | f2bfd949032c8abbf5edfa77fe6b702ea96db41755d3b82998989658a4b5bc5e gunicorn-registry stdout | 2025-09-26 08:36:40,228 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b7b636df87f7ea2a0d1d819fe43e76ee96318f95cf77e769b9a8318b28ff489a gunicorn-registry stdout | 2025-09-26 08:36:40,228 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,228 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:40,228 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:40,234 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/584364b4-ac0e-4987-b5cc-2fba1c298c13?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:40,234 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8l9h-6kdhci-2jb', 'x-amz-id-2': 'mg0l8l9h-6kdhci-2jb', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:40 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:40,234 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/584364b4-ac0e-4987-b5cc-2fba1c298c1368d65098d73ec60008f9338a' gunicorn-registry stdout | 2025-09-26 08:36:40,235 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,235 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:40,235 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,235 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8l9h-6kdhci-2jb', 'HostId': 'mg0l8l9h-6kdhci-2jb', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8l9h-6kdhci-2jb', 'x-amz-id-2': 'mg0l8l9h-6kdhci-2jb', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:40 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/584364b4-ac0e-4987-b5cc-2fba1c298c13', 'UploadId': '68d65098d73ec60008f9338a'} gunicorn-registry stdout | 2025-09-26 08:36:40,235 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:40,235 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/584364b4-ac0e-4987-b5cc-2fba1c298c13', 'UploadId': '68d65098d73ec60008f9338a'} gunicorn-registry stdout | 2025-09-26 08:36:40,235 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,235 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,235 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,235 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,235 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,236 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,236 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:40,236 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:40,236 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:40,236 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:40,236 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,236 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,236 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,236 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/584364b4-ac0e-4987-b5cc-2fba1c298c13', 'query_string': {'uploadId': '68d65098d73ec60008f9338a'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/584364b4-ac0e-4987-b5cc-2fba1c298c13', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/584364b4-ac0e-4987-b5cc-2fba1c298c13?uploadId=68d65098d73ec60008f9338a', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/584364b4-ac0e-4987-b5cc-2fba1c298c13', 'UploadId': '68d65098d73ec60008f9338a'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:40,236 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,236 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,236 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,236 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,236 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:40,236 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/584364b4-ac0e-4987-b5cc-2fba1c298c13 gunicorn-registry stdout | uploadId=68d65098d73ec60008f9338a gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083640Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:40,236 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083640Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 3ef0dc0d2f803a52fe8f753c224e7dec070a498017540c7b7c6be53c2a66c296 gunicorn-registry stdout | 2025-09-26 08:36:40,237 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 590d060a748ed72edd44b5c5dc7b0e42d603d44f216833e65c99d7f2a0879d14 gunicorn-registry stdout | 2025-09-26 08:36:40,237 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,237 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:40,237 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:40,243 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/584364b4-ac0e-4987-b5cc-2fba1c298c13?uploadId=68d65098d73ec60008f9338a HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:40,243 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8l9p-6p7id2-bp7', 'x-amz-id-2': 'mg0l8l9p-6p7id2-bp7', 'Date': 'Fri, 26 Sep 2025 08:36:40 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:40,243 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:40,243 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,243 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:40,243 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,243 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8l9p-6p7id2-bp7', 'HostId': 'mg0l8l9p-6p7id2-bp7', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8l9p-6p7id2-bp7', 'x-amz-id-2': 'mg0l8l9p-6p7id2-bp7', 'date': 'Fri, 26 Sep 2025 08:36:40 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:40,243 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 40680dd4-f803-4db7-bc44-bfcb19245afd took 0.018744707107543945 seconds gunicorn-registry stdout | 2025-09-26 08:36:40,244 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['40680dd4-f803-4db7-bc44-bfcb19245afd', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,248 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '40680dd4-f803-4db7-bc44-bfcb19245afd', 5504, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwMDkyOX1dXX19LCJodHRwczovL21vYnlwcm9qZWN0Lm9yZy9idWlsZGtpdEB2MSNoZXJtZXRpYyI6dHJ1ZX19fQAAAAAAAAAAAKwAAAAAAAApF/mM14RFTdLGQvodCE6xKiIP/i53Lr8/7hrLYNUHEJRiLg==', 9, '{"chunks": [["uploads/6afcc2a7-5f7a-43f6-a082-7b651d0a529d", 0, 5504]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 36, 39, 562780), None, None, 15]) gunicorn-registry stdout | 2025-09-26 08:36:40,252 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:40,252 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:40,252 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:40,253 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:40,253 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735'} gunicorn-registry stdout | 2025-09-26 08:36:40,254 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,254 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,254 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,254 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,254 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,254 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,254 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,254 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:40,254 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:40,254 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:40,254 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:40,254 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,254 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,254 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,254 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:40,254 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,254 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,254 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,255 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,255 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:40,255 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083640Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:40,255 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083640Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 6a16cd5236a5fcde64fbf3fccd65a43d79a97cc248da14c39110a56082c05d73 gunicorn-registry stdout | 2025-09-26 08:36:40,255 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 39f6217c8244db0dd190ae9eaddf1f29ff6f4678b7d3c662ac52deba74dde3de gunicorn-registry stdout | 2025-09-26 08:36:40,255 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,255 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:40,255 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:40,260 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:40,261 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8la8-70gves-nyh', 'x-amz-id-2': 'mg0l8la8-70gves-nyh', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:40 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:40,261 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:40,261 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,261 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:40,261 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,262 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:40,262 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:40,262 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735 gunicorn-registry stdout | 2025-09-26 08:36:40,262 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:40,262 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:40,262 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:40,262 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:40,262 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,262 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,262 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,262 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,263 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,263 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,263 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,263 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:40,263 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:40,263 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:40,263 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:40,263 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,263 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,263 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,263 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/6afcc2a7-5f7a-43f6-a082-7b651d0a529d', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/6afcc2a7-5f7a-43f6-a082-7b651d0a529d', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/6afcc2a7-5f7a-43f6-a082-7b651d0a529d', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/6afcc2a7-5f7a-43f6-a082-7b651d0a529d'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:40,263 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,263 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,263 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,263 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,263 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,263 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:40,264 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/6afcc2a7-5f7a-43f6-a082-7b651d0a529d gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083640Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:40,264 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083640Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 67170dbae84f3a6665f34c86d7a492a9ff786be662e59fcedfc69483afa8afa1 gunicorn-registry stdout | 2025-09-26 08:36:40,264 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | e3e4730b2b5283ab0d71ac7d853d45b4e0acdf828256cb2f6d65477ce927b4c7 gunicorn-registry stdout | 2025-09-26 08:36:40,264 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,264 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,264 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:40,264 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem manifestbackfillworker stdout | 2025-09-26 08:36:40,265 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} gunicorn-registry stdout | 2025-09-26 08:36:40,268 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/6afcc2a7-5f7a-43f6-a082-7b651d0a529d HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:40,268 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8lah-75e0pp-pja', 'x-amz-id-2': 'mg0l8lah-75e0pp-pja', 'ETag': '"01968e4d19351d69b46abb0f49662431-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:39 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '5504', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:40 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:40,268 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:40,269 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,269 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:40,269 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,269 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:40,269 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:40,269 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:40,269 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:40,269 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/6afcc2a7-5f7a-43f6-a082-7b651d0a529d'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735', 'extra_args': {}, 'callbacks': [], 'size': 5504} gunicorn-registry stdout | 2025-09-26 08:36:40,269 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,269 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,269 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,269 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,270 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,270 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,270 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,270 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,270 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,270 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,270 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:40,270 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:40,270 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:40,270 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:40,270 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,270 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,270 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,270 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/6afcc2a7-5f7a-43f6-a082-7b651d0a529d', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/6afcc2a7-5f7a-43f6-a082-7b651d0a529d', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:40,270 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,270 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,270 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,270 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,270 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,271 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:40,271 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/6afcc2a7-5f7a-43f6-a082-7b651d0a529d gunicorn-registry stdout | x-amz-date:20250926T083640Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:40,271 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083640Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 5d08888b9d56b7f89523e1b304b71015f6e268e16988c9c528cc551c7a06cb45 gunicorn-registry stdout | 2025-09-26 08:36:40,271 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 60da9bdc1df1f601ade78f453561fb57f24664df41f6994f1b71796086fffcb1 gunicorn-registry stdout | 2025-09-26 08:36:40,271 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,271 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,271 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:40,271 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:40,271 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:40,296 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:36:40,296 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8lao-79ph83-15lr', 'x-amz-id-2': 'mg0l8lao-79ph83-15lr', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:36:40 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:40,297 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:40.000Z"01968e4d19351d69b46abb0f49662431-1"' gunicorn-registry stdout | 2025-09-26 08:36:40,297 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,297 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:40,297 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:40,297 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:40,297 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:40,298 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 40680dd4-f803-4db7-bc44-bfcb19245afd with digest sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735 took 0.03611326217651367 seconds gunicorn-registry stdout | 2025-09-26 08:36:40,299 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['40680dd4-f803-4db7-bc44-bfcb19245afd', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,302 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,304 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['ba789f5f-da42-4591-8b41-6bdd6e1a39be', 5504, None, True, True, 'sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735']) gunicorn-registry stdout | 2025-09-26 08:36:40,305 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [16, 9]) gunicorn-registry stdout | 2025-09-26 08:36:40,307 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,308 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 16, datetime.datetime(2025, 9, 26, 8, 36, 40, 308309), datetime.datetime(2025, 9, 26, 9, 36, 40, 308293)]) gunicorn-registry stdout | 2025-09-26 08:36:40,310 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [15]) gunicorn-registry stdout | 2025-09-26 08:36:40,314 [257] [DEBUG] [app] Ending request: urn:request:699bd0f1-bca6-41d0-bdfd-b075870b7a74 (/v2/testorg/alpine/blobs/uploads/40680dd4-f803-4db7-bc44-bfcb19245afd) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:699bd0f1-bca6-41d0-bdfd-b075870b7a74', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/40680dd4-f803-4db7-bc44-bfcb19245afd?digest=sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735', 'path': '/v2/testorg/alpine/blobs/uploads/40680dd4-f803-4db7-bc44-bfcb19245afd', 'parameters': {'digest': 'sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:40,314 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:40,314 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:40,314 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:40 +0000] "PUT /v2/testorg/alpine/blobs/uploads/40680dd4-f803-4db7-bc44-bfcb19245afd?digest=sha256%3A611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:40 +0000] "PUT /v2/testorg/alpine/blobs/uploads/40680dd4-f803-4db7-bc44-bfcb19245afd?digest=sha256%3A611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.126 1849 0.126) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:40 +0000] "GET /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU56azRMQ0pwWVhRaU9qRTNOVGc0TnpVM09UZ3NJbVY0Y0NJNk1UYzFPRGczTmpNNU9Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE9DOWhPRFUzTm1Vd01tRXhNV0k1T0RRNFl6azNOakUzWWpoak1UQTVaV0ZpT0Rnd1kySXhNemMzTkRFM09HWmpOVE0zT0Rnek56TmlPVFk1WlRNMk5tWXhQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDA0VUVod1JFbHpkRm93UVhoamIyWjRXVmhZWjBoTVpYZFNVemdsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTXprNElpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAub2N0NnBQQXFyVENLbUllUHU4TlFncDJRWGdNeVpTUERBdnpmMkRpcUpVVVp0NW9pWnRxcDJTNE9mT2Iwc1RqSk9rMG9nUkRLRjhIYTExUEdTbjJkTHRyX0JCeDdYZXJpcUpkck5aWHFlbHdPM09ET1RYSXRUZjIyb1lXLUlXSi1YUjNNck8tTElFOU95UDB5ZXB3b2d4dFVud21helJjZUdKVHJKbmJXMENUbmhpZ0xzd0E3cG52SWlzeEY1YWEwbTBRanFLa000YkhyalY3d0RyQUFreWcyMHNuaFcwLTIxYTVmN1lya2l0SlR4S3VHeVpfVHZRZXlaajc3WlFTYWt2WjhoZUVSNDFLNlFJcURsM1hiOTFXTE43NjJnOVp5UHJrcnlvejRwMnUtbDJRUnRkREtwYlB3M25zQ2V1TWtadWoxTVQ0U1JYUmpLejhlSGVaelFB/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a8/a8576e02a11b9848c97617b8c109eab880cb13774178fc53788373b969e366f1?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=8PHpDIstZ0AxcofxYXXgHLewRS8%3D&Expires=1758876398 HTTP/1.1" 200 9862550 "-" "Go-http-client/1.1" (1.801 2405 1.795) gunicorn-registry stdout | 2025-09-26 08:36:40,676 [250] [DEBUG] [app] Starting request: urn:request:c7681e5b-0098-40d8-b127-efd5a8b9469a (/v2/testorg/alpine/blobs/sha256:54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:40,676 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:40,676 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:40,676 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:40,677 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:40,677 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:40,677 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:40,677 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:40,677 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:40,678 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,682 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,685 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:40,685 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9_2 gunicorn-registry stdout | 2025-09-26 08:36:40,686 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:40,686 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,690 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,693 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,697 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,702 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,705 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9_2: None gunicorn-registry stdout | 2025-09-26 08:36:40,705 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9_2: None gunicorn-registry stdout | 2025-09-26 08:36:40,705 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:40,706 [250] [DEBUG] [app] Ending request: urn:request:c7681e5b-0098-40d8-b127-efd5a8b9469a (/v2/testorg/alpine/blobs/sha256:54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:c7681e5b-0098-40d8-b127-efd5a8b9469a', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9', 'path': '/v2/testorg/alpine/blobs/sha256:54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:40,706 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:40,706 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:40,706 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:40 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:40 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.031 1714 0.031) gunicorn-registry stdout | 2025-09-26 08:36:40,748 [250] [DEBUG] [app] Starting request: urn:request:69a28087-e5e9-4f6c-bdb2-9e893ef7d6f5 (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:40,748 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:40,748 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:40,749 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:40,750 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:40,750 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:40,750 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:40,750 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:40,750 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:40,751 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,755 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,758 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,763 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,767 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,770 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,773 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:40,777 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:40,781 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, 'cafc9a67-ab2a-414b-b5f8-e426aec32fd5', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 40, 780726)]) gunicorn-registry stdout | 2025-09-26 08:36:40,785 [250] [DEBUG] [app] Ending request: urn:request:69a28087-e5e9-4f6c-bdb2-9e893ef7d6f5 (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:69a28087-e5e9-4f6c-bdb2-9e893ef7d6f5', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:40,785 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:40,785 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:40,785 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:40 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:40 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.038 1693 0.038) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:41 +0000] "GET /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU56azRMQ0pwWVhRaU9qRTNOVGc0TnpVM09UZ3NJbVY0Y0NJNk1UYzFPRGczTmpNNU9Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5bU9TOW1PVE5pTjJRek16azJZekl5TXpVME56STBZalV3TW1NMk9USTNObUUzTXpBd01ETXlPVGRsTkdNeU5HSmtObVF3TTJaak1UWmlNR1UxTURBNU1HUXpQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDE2VkRKeFprSTFKVEpHV1UxbEpUSkdiemxXWm00M1ZFSlVOWGx2VEVsQkpUTkVKa1Y0Y0dseVpYTTlNVGMxT0RnM05qTTVPQ0lzSW1odmMzUWlPaUp6TXk1dmNHVnVjMmhwWm5RdGMzUnZjbUZuWlM1emRtTXVZMngxYzNSbGNpNXNiMk5oYkRvME5ETWlMQ0p6WTJobGJXVWlPaUpvZEhSd2N5SjlYU3dpWTI5dWRHVjRkQ0k2ZTMxOS5yZ1p0Rm9pRjNfRmx4cTdRd1c1TVVxaHYxblBvMkxuZmJ6Vmhtd2FRd3FTbldwTkZ1WllJQlZaR0I1RHdoOC1kR1l0NVlIdGNTc0F0cTlDYzJ3ZUtZWUJqZ0FTaTY3VGhCTHUxOUJoT3pPOHJQU3BWbWdBeHRRS2dVek9RTGpveXFIbmpDVzc3RG1BX3IwWmxnSHh0ZkZ0cTBIemxIeG9DVWVMWGRyV1ZYMTB2anJYQ0VJTUtER1RvTkxMOWdDSFJVc2R4R2U2aGVmRlc3d1hrX2RsX0lBZW9HeUg4eF92cXJBQmppb1FkODhXUEs0NHZJRXRrSlAydEZtclN5T3lYd0F3dkU2VGhaLVg2TEp3b3dyY0JHSFRuZnNDaXdzMVV1LWNNckEzWjJTdUhCZWYzb2RzYV9uUVd5MG5tXzVoZTNzUUhkVXozNmpQV05Wc3lfaEdlTkE=/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f9/f93b7d3396c22354724b502c69276a730003297e4c24bd6d03fc16b0e50090d3?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=zT2qfB5%2FYMe%2Fo9Vfn7TBT5yoLIA%3D&Expires=1758876398 HTTP/1.1" 200 32306386 "-" "Go-http-client/1.1" (2.700 2417 2.695) gunicorn-registry stdout | 2025-09-26 08:36:41,696 [257] [DEBUG] [app] Starting request: urn:request:ff40990a-d3e2-438b-8b91-92860f3f19de (/v2/testorg/alpine/blobs/sha256:22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:41,696 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:41,696 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:41,696 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:41,697 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:41,697 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:41,697 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:41,697 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:41,697 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:41,698 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:41,702 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:41,706 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:41,706 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9_2 gunicorn-registry stdout | 2025-09-26 08:36:41,706 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:41,707 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:41,711 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:41,715 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:41,719 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:41,723 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:41,726 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9_2: None gunicorn-registry stdout | 2025-09-26 08:36:41,726 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9_2: None gunicorn-registry stdout | 2025-09-26 08:36:41,727 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:41,727 [257] [DEBUG] [app] Ending request: urn:request:ff40990a-d3e2-438b-8b91-92860f3f19de (/v2/testorg/alpine/blobs/sha256:22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:ff40990a-d3e2-438b-8b91-92860f3f19de', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9', 'path': '/v2/testorg/alpine/blobs/sha256:22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:41,727 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:41,727 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:41,727 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:41 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:41 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.033 1714 0.033) gunicorn-registry stdout | 2025-09-26 08:36:42,038 [250] [DEBUG] [app] Starting request: urn:request:571217d0-e8c1-4e0b-bc32-1e42951889b1 (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:42,038 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:42,038 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:42,038 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:42,039 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:42,039 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:42,039 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:42,039 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:42,039 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:42,040 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:42,044 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:42,048 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:42,052 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:42,055 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:42,059 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:42,062 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:42,066 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:42,069 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, '09844094-1b73-4e27-9bd3-bb8bc1da8c01', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 42, 69318)]) gunicorn-registry stdout | 2025-09-26 08:36:42,074 [250] [DEBUG] [app] Ending request: urn:request:571217d0-e8c1-4e0b-bc32-1e42951889b1 (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:571217d0-e8c1-4e0b-bc32-1e42951889b1', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:42,074 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:42,075 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:42,075 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:42 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:42 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.038 1693 0.038) gunicorn-registry stdout | 2025-09-26 08:36:42,116 [255] [DEBUG] [app] Starting request: urn:request:82667c75-d6d2-4c86-982c-e104818ca542 (/v2/testorg/alpine/blobs/uploads/09844094-1b73-4e27-9bd3-bb8bc1da8c01) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:42,116 [255] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '09844094-1b73-4e27-9bd3-bb8bc1da8c01', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:42,116 [255] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:42,116 [255] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:42,117 [255] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:42,117 [255] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:42,117 [255] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:42,117 [255] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:42,117 [255] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:42,118 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:42,122 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:42,126 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:42,129 [255] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:42,133 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:42,136 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:42,140 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:42,144 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:42,147 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['09844094-1b73-4e27-9bd3-bb8bc1da8c01', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:42,150 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:42,150 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:42,150 [255] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:42,151 [255] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:42,151 [255] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:42,152 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,152 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,152 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,152 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,152 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:42,152 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,152 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,152 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:42,152 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:42,152 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:42,152 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:42,152 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:42,152 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,152 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,152 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,152 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:42,152 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:42,152 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:42,152 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,153 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,153 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:42,153 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083642Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:42,153 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083642Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 7faf5c3ab798668022a6b1a12cad58138285b5ee7eacc2932aafd2fb1235cda7 gunicorn-registry stdout | 2025-09-26 08:36:42,153 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b8938ed39303aeb79c032c97e3d74149a5cd7539d6b00d4c713912a833fd52c8 gunicorn-registry stdout | 2025-09-26 08:36:42,153 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,153 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:42,153 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:42,154 [255] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:36:42,181 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:42,182 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8mrl-5ozlaq-5sh', 'x-amz-id-2': 'mg0l8mrl-5ozlaq-5sh', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:42 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:42,182 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea368d6509ad73ec60008f93396' gunicorn-registry stdout | 2025-09-26 08:36:42,182 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,182 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:42,182 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:42,182 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8mrl-5ozlaq-5sh', 'HostId': 'mg0l8mrl-5ozlaq-5sh', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8mrl-5ozlaq-5sh', 'x-amz-id-2': 'mg0l8mrl-5ozlaq-5sh', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:42 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3', 'UploadId': '68d6509ad73ec60008f93396'} gunicorn-registry stdout | 2025-09-26 08:36:42,182 [255] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload securityscanningnotificationworker stdout | 2025-09-26 08:36:42,242 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:36:42,243 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:22.245238+00:00 (in 40.002250 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:36:42,243 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:42 GMT)" (scheduled at 2025-09-26 08:36:42.242482+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:36:42,243 [88] [DEBUG] [workers.queueworker] Getting work item from queue. securityscanningnotificationworker stdout | 2025-09-26 08:36:42,244 [88] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 36, 42, 243297), True, datetime.datetime(2025, 9, 26, 8, 36, 42, 243297), 0, 'secscanv4/%', 50, 1, 0]) securityscanningnotificationworker stdout | 2025-09-26 08:36:42,256 [88] [DEBUG] [workers.queueworker] No more work. securityscanningnotificationworker stdout | 2025-09-26 08:36:42,256 [88] [DEBUG] [data.database] Disconnecting from database. securityscanningnotificationworker stdout | 2025-09-26 08:36:42,256 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:42 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:36:42,700 [255] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:42,700 [255] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:42,701 [255] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3', 'UploadId': '68d6509ad73ec60008f93396', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc1b830>, 'ContentLength': 3219181} gunicorn-registry stdout | 2025-09-26 08:36:42,701 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,701 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,701 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,701 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,701 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:42,701 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,701 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,701 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:42,701 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:42,701 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:42,701 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:42,701 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:42,702 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,709 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,709 [255] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:42,709 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,709 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,710 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3', 'query_string': {'uploadId': '68d6509ad73ec60008f93396', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '3219181', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'Xkx8bVfXpeRxRvn1iVKszA==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc1b830>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3?uploadId=68d6509ad73ec60008f93396&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3', 'UploadId': '68d6509ad73ec60008f93396', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc1b830>, 'ContentLength': 3219181}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:42,710 [255] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:42,710 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:42,710 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,710 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,710 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:42,710 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3 gunicorn-registry stdout | partNumber=1&uploadId=68d6509ad73ec60008f93396 gunicorn-registry stdout | content-length:3219181 gunicorn-registry stdout | content-md5:Xkx8bVfXpeRxRvn1iVKszA== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083642Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:42,710 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083642Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | f4783044a4d763eb8a34ba42f5f35cdbe8025a1799ed6118913fbf04c78633b4 gunicorn-registry stdout | 2025-09-26 08:36:42,710 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | d80076303d367a5f765de78664bc4c479f93282b9ecc10ebd26f23810d565c6a gunicorn-registry stdout | 2025-09-26 08:36:42,710 [255] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,710 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:42,711 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:42,711 [255] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:42,712 [255] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:36:42,912 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3?uploadId=68d6509ad73ec60008f93396&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:42,913 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8n6g-ejgfay-egh', 'x-amz-id-2': 'mg0l8n6g-ejgfay-egh', 'ETag': '"5e4c7c6d57d7a5e47146f9f58952accc"', 'Date': 'Fri, 26 Sep 2025 08:36:42 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:42,913 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:42,913 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,913 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:42,913 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:42,913 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8n6g-ejgfay-egh', 'HostId': 'mg0l8n6g-ejgfay-egh', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8n6g-ejgfay-egh', 'x-amz-id-2': 'mg0l8n6g-ejgfay-egh', 'etag': '"5e4c7c6d57d7a5e47146f9f58952accc"', 'date': 'Fri, 26 Sep 2025 08:36:42 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"5e4c7c6d57d7a5e47146f9f58952accc"'} gunicorn-registry stdout | 2025-09-26 08:36:42,914 [255] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3', 'UploadId': '68d6509ad73ec60008f93396', 'MultipartUpload': {'Parts': [{'ETag': '"5e4c7c6d57d7a5e47146f9f58952accc"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:36:42,914 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,914 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,914 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,914 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:42,914 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,914 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,914 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:42,914 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:42,914 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:42,914 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:42,914 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:42,914 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,915 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,915 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,915 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3', 'query_string': {'uploadId': '68d6509ad73ec60008f93396'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"5e4c7c6d57d7a5e47146f9f58952accc"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3?uploadId=68d6509ad73ec60008f93396', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3', 'UploadId': '68d6509ad73ec60008f93396', 'MultipartUpload': {'Parts': [{'ETag': '"5e4c7c6d57d7a5e47146f9f58952accc"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:42,915 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:42,915 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:42,915 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,915 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,915 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:42,915 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3 gunicorn-registry stdout | uploadId=68d6509ad73ec60008f93396 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:bccda1c8bd84c393b892f3564f6a01ad854e16087a029525a411d7d9f3c9f421 gunicorn-registry stdout | x-amz-date:20250926T083642Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | bccda1c8bd84c393b892f3564f6a01ad854e16087a029525a411d7d9f3c9f421 gunicorn-registry stdout | 2025-09-26 08:36:42,915 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083642Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 928fa7dbc046cfb689c84d09a3718d8b7f031ca68b5420f704e553d3e46cbcf4 gunicorn-registry stdout | 2025-09-26 08:36:42,915 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | c1a0630d2ef565ecdf248611130375951ac6507c78dc1a0534ad60e26b482bd2 gunicorn-registry stdout | 2025-09-26 08:36:42,915 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,915 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:42,916 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:42,932 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3?uploadId=68d6509ad73ec60008f93396 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:36:42,932 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8nc5-1e4093-u0z', 'x-amz-id-2': 'mg0l8nc5-1e4093-u0z', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:36:42 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:42,932 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3"933e733f8b98d678802844b56ef9efd0-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3?uploadId=68d6509ad73ec60008f93396' gunicorn-registry stdout | 2025-09-26 08:36:42,933 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,933 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:42,933 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:42,933 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:42,933 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8nc5-1e4093-u0z', 'HostId': 'mg0l8nc5-1e4093-u0z', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8nc5-1e4093-u0z', 'x-amz-id-2': 'mg0l8nc5-1e4093-u0z', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:36:42 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3?uploadId=68d6509ad73ec60008f93396', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3', 'ETag': '"933e733f8b98d678802844b56ef9efd0-1"'} gunicorn-registry stdout | 2025-09-26 08:36:42,933 [255] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:42,934 [255] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:42,935 [255] [DEBUG] [data.registry_model.blobuploader] Uploaded 3219181 bytes to blob 09844094-1b73-4e27-9bd3-bb8bc1da8c01 took 0.7840657234191895 seconds gunicorn-registry stdout | 2025-09-26 08:36:42,935 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['09844094-1b73-4e27-9bd3-bb8bc1da8c01', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:42,939 [255] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '09844094-1b73-4e27-9bd3-bb8bc1da8c01', 3219181, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwX2f+X69W97jxDzVZ+drjf+Rp/MPk7ftPN9xwww2vi/83AAD//yeivwMAfFYA7utU7cb/A//nWcDrlPF0/rHL+y0AAAAAAAAAAPaIAQAAAACnu9UmD+V4DJ5jTFLguWSzzy5hi7ks3m/9AbdjXR7nl5RiLg==', 9, '{"chunks": [["uploads/750411da-8738-41fc-925e-41a60c619ea3", 0, 3219181]]}', 1, 5667840, datetime.datetime(2025, 9, 26, 8, 36, 42, 69318), None, None, 17]) gunicorn-registry stdout | 2025-09-26 08:36:42,944 [255] [DEBUG] [app] Ending request: urn:request:82667c75-d6d2-4c86-982c-e104818ca542 (/v2/testorg/alpine/blobs/uploads/09844094-1b73-4e27-9bd3-bb8bc1da8c01) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:82667c75-d6d2-4c86-982c-e104818ca542', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/09844094-1b73-4e27-9bd3-bb8bc1da8c01', 'path': '/v2/testorg/alpine/blobs/uploads/09844094-1b73-4e27-9bd3-bb8bc1da8c01', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:42,944 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:42,944 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:42,945 [255] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:42 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/09844094-1b73-4e27-9bd3-bb8bc1da8c01 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:42 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/09844094-1b73-4e27-9bd3-bb8bc1da8c01 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.830 3220957 0.830) gunicorn-registry stdout | 2025-09-26 08:36:42,985 [250] [DEBUG] [app] Starting request: urn:request:9a3799eb-e6a4-4395-b947-23a99ad6d868 (/v2/testorg/alpine/blobs/uploads/09844094-1b73-4e27-9bd3-bb8bc1da8c01) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:42,985 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '09844094-1b73-4e27-9bd3-bb8bc1da8c01', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:42,985 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:42,985 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:42,986 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:42,986 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:42,986 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:42,987 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:42,987 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:42,987 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:42,992 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:42,995 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:42,999 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,003 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,007 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,010 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,013 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:43,017 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['09844094-1b73-4e27-9bd3-bb8bc1da8c01', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,021 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:43,021 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:43,021 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:43,022 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:43,023 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/612d1814-6f33-44e7-ae29-092e0d1c2ed1', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:43,023 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,023 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,023 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,023 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,023 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,023 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,023 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,023 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,023 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:43,023 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:43,023 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:43,023 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:43,024 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,024 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,024 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,024 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/612d1814-6f33-44e7-ae29-092e0d1c2ed1?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/612d1814-6f33-44e7-ae29-092e0d1c2ed1', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/612d1814-6f33-44e7-ae29-092e0d1c2ed1?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/612d1814-6f33-44e7-ae29-092e0d1c2ed1', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:43,024 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,024 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,024 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,024 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,024 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:43,024 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/612d1814-6f33-44e7-ae29-092e0d1c2ed1 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083643Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:43,024 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083643Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 05f9c77426edce122d236f2d73f2b5e253a21e88551baf682b76947791f2541c gunicorn-registry stdout | 2025-09-26 08:36:43,024 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b520f0035299e6baa1b63049139234882a0fe6970900f2c595efa7f4a1048cdf gunicorn-registry stdout | 2025-09-26 08:36:43,024 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,025 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:43,025 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:43,025 [250] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:36:43,054 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/612d1814-6f33-44e7-ae29-092e0d1c2ed1?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:43,054 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8nft-3l32q7-141f', 'x-amz-id-2': 'mg0l8nft-3l32q7-141f', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:43 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:43,054 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/612d1814-6f33-44e7-ae29-092e0d1c2ed168d6509bd73ec60008f9339c' gunicorn-registry stdout | 2025-09-26 08:36:43,054 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,054 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:43,054 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,055 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8nft-3l32q7-141f', 'HostId': 'mg0l8nft-3l32q7-141f', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8nft-3l32q7-141f', 'x-amz-id-2': 'mg0l8nft-3l32q7-141f', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:43 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/612d1814-6f33-44e7-ae29-092e0d1c2ed1', 'UploadId': '68d6509bd73ec60008f9339c'} gunicorn-registry stdout | 2025-09-26 08:36:43,055 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:43,055 [250] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/612d1814-6f33-44e7-ae29-092e0d1c2ed1', 'UploadId': '68d6509bd73ec60008f9339c'} gunicorn-registry stdout | 2025-09-26 08:36:43,055 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,055 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,055 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,055 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,055 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,055 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,056 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:43,056 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:43,056 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:43,056 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:43,056 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,056 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,056 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,056 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/612d1814-6f33-44e7-ae29-092e0d1c2ed1', 'query_string': {'uploadId': '68d6509bd73ec60008f9339c'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/612d1814-6f33-44e7-ae29-092e0d1c2ed1', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/612d1814-6f33-44e7-ae29-092e0d1c2ed1?uploadId=68d6509bd73ec60008f9339c', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/612d1814-6f33-44e7-ae29-092e0d1c2ed1', 'UploadId': '68d6509bd73ec60008f9339c'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:43,056 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,056 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,056 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,056 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,056 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:43,056 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/612d1814-6f33-44e7-ae29-092e0d1c2ed1 gunicorn-registry stdout | uploadId=68d6509bd73ec60008f9339c gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083643Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:43,056 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083643Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 535de9dd8f5fd5ea022031fbcb1512c0ac9e9a2aca8cbef79ffba77a32296071 gunicorn-registry stdout | 2025-09-26 08:36:43,057 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | a949a80fec62f818b01e5601adf0bcf7e171d7318795775a6bdeadd2190cbfad gunicorn-registry stdout | 2025-09-26 08:36:43,057 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,057 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:43,057 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:43,063 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/612d1814-6f33-44e7-ae29-092e0d1c2ed1?uploadId=68d6509bd73ec60008f9339c HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:43,063 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ng2-3q7r0l-1b6t', 'x-amz-id-2': 'mg0l8ng2-3q7r0l-1b6t', 'Date': 'Fri, 26 Sep 2025 08:36:43 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:43,063 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:43,064 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,064 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:43,064 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,064 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8ng2-3q7r0l-1b6t', 'HostId': 'mg0l8ng2-3q7r0l-1b6t', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ng2-3q7r0l-1b6t', 'x-amz-id-2': 'mg0l8ng2-3q7r0l-1b6t', 'date': 'Fri, 26 Sep 2025 08:36:43 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:43,064 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 09844094-1b73-4e27-9bd3-bb8bc1da8c01 took 0.04253363609313965 seconds gunicorn-registry stdout | 2025-09-26 08:36:43,064 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['09844094-1b73-4e27-9bd3-bb8bc1da8c01', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,069 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '09844094-1b73-4e27-9bd3-bb8bc1da8c01', 3219181, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwX2f+X69W97jxDzVZ+drjf+Rp/MPk7ftPN9xwww2vi/83AAD//yeivwMAfFYA7utU7cb/A//nWcDrlPF0/rHL+y0AAAAAAAAAAPaIAQAAAACnu9UmD+V4DJ5jTFLguWSzzy5hi7ks3m/9AbdjXR7nl5RiLg==', 9, '{"chunks": [["uploads/750411da-8738-41fc-925e-41a60c619ea3", 0, 3219181]]}', 2, 5667840, datetime.datetime(2025, 9, 26, 8, 36, 42, 69318), None, None, 17]) gunicorn-registry stdout | 2025-09-26 08:36:43,073 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:43,073 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:43,073 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:43,074 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:43,075 [250] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9'} gunicorn-registry stdout | 2025-09-26 08:36:43,075 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,075 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,075 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,075 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,075 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,075 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,075 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,075 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:43,075 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:43,075 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:43,075 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:43,075 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,075 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,075 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,075 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:43,076 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,076 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,076 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,076 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,076 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:43,076 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083643Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:43,076 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083643Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 1d9d870a4e3492da2f924117cc3367d82b788931d8b7ee2ce22de9dc8819dd9c gunicorn-registry stdout | 2025-09-26 08:36:43,076 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 5d3429f82d1186409506e3c875056fd5d90f99a8cac40254f7605cadae56c541 gunicorn-registry stdout | 2025-09-26 08:36:43,076 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,076 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:43,076 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:43,081 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:43,081 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ngl-41trmz-y1', 'x-amz-id-2': 'mg0l8ngl-41trmz-y1', 'Content-Type': 'application/xml', 'Content-Length': '337', 'Date': 'Fri, 26 Sep 2025 08:36:43 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:43,082 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:43,082 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,082 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:43,082 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,082 [250] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:43,082 [250] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:43,082 [250] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9 gunicorn-registry stdout | 2025-09-26 08:36:43,083 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:43,083 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:43,083 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:43,083 [250] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:43,083 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,083 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,083 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,083 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,083 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,084 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,084 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,084 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:43,084 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:43,084 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:43,084 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:43,085 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,085 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,085 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,085 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:43,085 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,085 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,085 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,085 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,085 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,085 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:43,085 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083643Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:43,085 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083643Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 12e4648ef01164d984c16be6c5f0dd4ac5997c1f86803c11bca452b6bd5131d9 gunicorn-registry stdout | 2025-09-26 08:36:43,085 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 24af80122aab8a421ea55edff441df47e269c3fa4d5ab7a2460469532a38a7bc gunicorn-registry stdout | 2025-09-26 08:36:43,086 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,086 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,086 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:43,086 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:43,086 [250] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:36:43,118 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:43,119 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8nhl-4n7uvq-3nm', 'x-amz-id-2': 'mg0l8nhl-4n7uvq-3nm', 'ETag': '"933e733f8b98d678802844b56ef9efd0-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:42 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '3219181', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:43 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:43,119 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:43,119 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,119 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:43,119 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,120 [250] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:43,120 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:43,120 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:43,120 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:43,120 [250] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9', 'extra_args': {}, 'callbacks': [], 'size': 3219181} gunicorn-registry stdout | 2025-09-26 08:36:43,120 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,120 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,120 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,120 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,120 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,120 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,121 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,121 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,121 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,121 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,121 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:43,121 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:43,121 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:43,121 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:43,121 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,121 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,121 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,121 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:43,121 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,121 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,122 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,122 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,122 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,122 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:43,122 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/750411da-8738-41fc-925e-41a60c619ea3 gunicorn-registry stdout | x-amz-date:20250926T083643Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:43,122 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083643Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 507fb0f2ef0dbca3301b5f0b39a770f2a890fc167cf4c3267d99f2f3a28c93dd gunicorn-registry stdout | 2025-09-26 08:36:43,122 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 371c17fb1a4974aa31480e7e590d0b03bd6004cdd97713900c94db5705b0aa19 gunicorn-registry stdout | 2025-09-26 08:36:43,122 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,122 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,122 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:43,123 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:43,123 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:43,149 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:36:43,149 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8nhw-4tjwfg-1675', 'x-amz-id-2': 'mg0l8nhw-4tjwfg-1675', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:36:43 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:43,149 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:43.000Z"933e733f8b98d678802844b56ef9efd0-1"' gunicorn-registry stdout | 2025-09-26 08:36:43,150 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,150 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,150 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:43,150 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,150 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:43,150 [250] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 09844094-1b73-4e27-9bd3-bb8bc1da8c01 with digest sha256:22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9 took 0.06844735145568848 seconds gunicorn-registry stdout | 2025-09-26 08:36:43,151 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['09844094-1b73-4e27-9bd3-bb8bc1da8c01', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,156 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,157 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['449c839f-f73e-41ec-a183-cb1bf6b20d28', 3219181, 5667840, True, True, 'sha256:22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9']) gunicorn-registry stdout | 2025-09-26 08:36:43,159 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [18, 9]) gunicorn-registry stdout | 2025-09-26 08:36:43,161 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,162 [250] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 18, datetime.datetime(2025, 9, 26, 8, 36, 43, 162426), datetime.datetime(2025, 9, 26, 9, 36, 43, 162404)]) gunicorn-registry stdout | 2025-09-26 08:36:43,164 [250] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [17]) gunicorn-registry stdout | 2025-09-26 08:36:43,168 [250] [DEBUG] [app] Ending request: urn:request:9a3799eb-e6a4-4395-b947-23a99ad6d868 (/v2/testorg/alpine/blobs/uploads/09844094-1b73-4e27-9bd3-bb8bc1da8c01) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:9a3799eb-e6a4-4395-b947-23a99ad6d868', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/09844094-1b73-4e27-9bd3-bb8bc1da8c01?digest=sha256:22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9', 'path': '/v2/testorg/alpine/blobs/uploads/09844094-1b73-4e27-9bd3-bb8bc1da8c01', 'parameters': {'digest': 'sha256:22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:43,168 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:43,168 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:43,168 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:43 +0000] "PUT /v2/testorg/alpine/blobs/uploads/09844094-1b73-4e27-9bd3-bb8bc1da8c01?digest=sha256%3A22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:43 +0000] "PUT /v2/testorg/alpine/blobs/uploads/09844094-1b73-4e27-9bd3-bb8bc1da8c01?digest=sha256%3A22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.184 1849 0.184) gunicorn-registry stdout | 2025-09-26 08:36:43,332 [257] [DEBUG] [app] Starting request: urn:request:663258a6-aa22-400a-895c-b41e81d1757d (/v2/testorg/alpine/blobs/sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:43,334 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:43,334 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:43,335 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:43,336 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:43,336 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:43,336 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:43,336 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:43,336 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:43,337 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,342 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,346 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:43,346 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577_2 gunicorn-registry stdout | 2025-09-26 08:36:43,346 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:43,347 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,351 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,354 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,358 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,362 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,365 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577_2: None gunicorn-registry stdout | 2025-09-26 08:36:43,365 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577_2: None gunicorn-registry stdout | 2025-09-26 08:36:43,365 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:43,366 [257] [DEBUG] [app] Ending request: urn:request:663258a6-aa22-400a-895c-b41e81d1757d (/v2/testorg/alpine/blobs/sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:663258a6-aa22-400a-895c-b41e81d1757d', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 'path': '/v2/testorg/alpine/blobs/sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:43,366 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:43,366 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:43,366 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:43 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:43 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.036 1714 0.036) gunicorn-registry stdout | 2025-09-26 08:36:43,407 [250] [DEBUG] [app] Starting request: urn:request:86365cfa-837c-4909-927c-d66636de4167 (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:43,407 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:43,407 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:43,407 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:43,409 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:43,409 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:43,409 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:43,409 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:43,410 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:43,411 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,415 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,418 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,423 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,427 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,431 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,435 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:43,438 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,442 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, '08e2b19c-b8ca-4f43-a600-946436b53a3f', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 43, 441843)]) gunicorn-registry stdout | 2025-09-26 08:36:43,447 [250] [DEBUG] [app] Ending request: urn:request:86365cfa-837c-4909-927c-d66636de4167 (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:86365cfa-837c-4909-927c-d66636de4167', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:43,447 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:43,447 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:43,447 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:43 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:43 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.041 1693 0.041) proxycacheblobworker stdout | 2025-09-26 08:36:43,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:36:43,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:53.545186+00:00 (in 9.999431 seconds) proxycacheblobworker stdout | 2025-09-26 08:36:43,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:53 GMT)" (scheduled at 2025-09-26 08:36:43.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:36:43,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:36:43,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 36, 43, 546159), True, datetime.datetime(2025, 9, 26, 8, 36, 43, 546159), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:36:43,569 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:36:43,569 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:36:43,569 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:53 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:36:43,943 [257] [DEBUG] [app] Starting request: urn:request:1d5f7c70-2140-48c4-9768-739c0f330a98 (/v2/testorg/alpine/blobs/uploads/08e2b19c-b8ca-4f43-a600-946436b53a3f) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:43,943 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '08e2b19c-b8ca-4f43-a600-946436b53a3f', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:43,943 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:43,944 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:43,945 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:43,945 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:43,945 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:43,945 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:43,945 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:43,946 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,951 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,955 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,959 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,963 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,966 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,971 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,974 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:43,978 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['08e2b19c-b8ca-4f43-a600-946436b53a3f', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:43,982 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:43,982 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:43,982 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:43,984 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:43,984 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/541414fd-8142-4d8e-83a5-74efc3b341f4', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:43,984 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,984 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,984 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,984 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,984 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,984 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,985 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,985 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,985 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:43,985 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:43,985 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:43,985 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:43,985 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,985 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,985 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,985 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/541414fd-8142-4d8e-83a5-74efc3b341f4?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/541414fd-8142-4d8e-83a5-74efc3b341f4', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/541414fd-8142-4d8e-83a5-74efc3b341f4?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/541414fd-8142-4d8e-83a5-74efc3b341f4', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:43,985 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,985 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,985 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,985 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,986 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:43,986 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/541414fd-8142-4d8e-83a5-74efc3b341f4 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083643Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:43,986 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083643Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 87eea0b9393e6a3db5c5145dbccc28abb05532431d79c46dc4c8f249482b44bc gunicorn-registry stdout | 2025-09-26 08:36:43,986 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b39a21f1dfe8a6ce583aca4d45f214df85e78de753e5ff04c7f885807e8f092e gunicorn-registry stdout | 2025-09-26 08:36:43,986 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,986 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:43,986 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:43,993 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/541414fd-8142-4d8e-83a5-74efc3b341f4?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:43,993 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8o5v-2k98z6-hwd', 'x-amz-id-2': 'mg0l8o5v-2k98z6-hwd', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:43 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:43,993 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/541414fd-8142-4d8e-83a5-74efc3b341f468d6509bd73ec60008f933a5' gunicorn-registry stdout | 2025-09-26 08:36:43,993 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,993 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:43,993 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,994 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8o5v-2k98z6-hwd', 'HostId': 'mg0l8o5v-2k98z6-hwd', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8o5v-2k98z6-hwd', 'x-amz-id-2': 'mg0l8o5v-2k98z6-hwd', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:43 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/541414fd-8142-4d8e-83a5-74efc3b341f4', 'UploadId': '68d6509bd73ec60008f933a5'} gunicorn-registry stdout | 2025-09-26 08:36:43,994 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:43,994 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/541414fd-8142-4d8e-83a5-74efc3b341f4', 'UploadId': '68d6509bd73ec60008f933a5'} gunicorn-registry stdout | 2025-09-26 08:36:43,994 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,994 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,994 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,994 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,994 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,994 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,994 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:43,995 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:43,995 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:43,995 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:43,995 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,995 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,995 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,995 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/541414fd-8142-4d8e-83a5-74efc3b341f4', 'query_string': {'uploadId': '68d6509bd73ec60008f933a5'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/541414fd-8142-4d8e-83a5-74efc3b341f4', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/541414fd-8142-4d8e-83a5-74efc3b341f4?uploadId=68d6509bd73ec60008f933a5', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/541414fd-8142-4d8e-83a5-74efc3b341f4', 'UploadId': '68d6509bd73ec60008f933a5'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:43,995 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,995 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:43,995 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,995 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,996 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:43,996 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/541414fd-8142-4d8e-83a5-74efc3b341f4 gunicorn-registry stdout | uploadId=68d6509bd73ec60008f933a5 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083643Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:43,996 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083643Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ddb2a8af632184c9d79e81a32d1ee1774bc825ffb11add93367046982377777f gunicorn-registry stdout | 2025-09-26 08:36:43,996 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 3c9a8f0d3370a8743704fd540ea71724116100c7a667273a646d6cd6411fea32 gunicorn-registry stdout | 2025-09-26 08:36:43,996 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:43,996 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:43,996 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:44,002 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/541414fd-8142-4d8e-83a5-74efc3b341f4?uploadId=68d6509bd73ec60008f933a5 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:44,003 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8o65-2pyj05-pxu', 'x-amz-id-2': 'mg0l8o65-2pyj05-pxu', 'Date': 'Fri, 26 Sep 2025 08:36:44 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:44,003 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:44,003 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,003 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:44,003 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,003 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8o65-2pyj05-pxu', 'HostId': 'mg0l8o65-2pyj05-pxu', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8o65-2pyj05-pxu', 'x-amz-id-2': 'mg0l8o65-2pyj05-pxu', 'date': 'Fri, 26 Sep 2025 08:36:44 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:44,003 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 08e2b19c-b8ca-4f43-a600-946436b53a3f took 0.021004915237426758 seconds gunicorn-registry stdout | 2025-09-26 08:36:44,004 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['08e2b19c-b8ca-4f43-a600-946436b53a3f', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,007 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '08e2b19c-b8ca-4f43-a600-946436b53a3f', 593, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwfSwidmFyaWFudCI6InY3In1mM2RjODEyNGY3ZjMzNjJhNjZjNjE4ZDFjNWNiNmMyMmQ2YTkxY2E3NDhiMzIiXREAAAAAAAAAABIAAAAAAAA8Ri/sKH7FEej7roOSw1vrq6NiHl1XvmYNHsdwDjIA05RiLg==', 9, '{"chunks": [["uploads/cd111381-6e5d-464b-842d-2e10db3e61c3", 0, 593]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 36, 43, 441843), None, None, 18]) gunicorn-registry stdout | 2025-09-26 08:36:44,012 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:44,012 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:44,012 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:44,013 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:44,013 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577'} gunicorn-registry stdout | 2025-09-26 08:36:44,013 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,013 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,013 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,013 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,013 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,013 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,013 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,013 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:44,013 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:44,013 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:44,013 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:44,014 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,015 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,015 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,015 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:44,015 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,015 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,015 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,015 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,015 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:44,015 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083644Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:44,015 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083644Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 1f5b87058558235aaa73a4c315dcbd0ec5d8af36720746957baecb5e4d7a5ae1 gunicorn-registry stdout | 2025-09-26 08:36:44,015 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | bd92e437c07fe1cde84bd4becbec65aebaf6f90254b8faf88778753463d8cb0e gunicorn-registry stdout | 2025-09-26 08:36:44,015 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,015 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:44,016 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:44,020 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:44,020 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8o6o-31isr8-i0p', 'x-amz-id-2': 'mg0l8o6o-31isr8-i0p', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:44 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:44,020 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:44,020 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,020 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:44,020 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,020 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:44,020 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:44,020 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577 gunicorn-registry stdout | 2025-09-26 08:36:44,021 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:44,021 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:44,021 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:44,021 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:44,021 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,021 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,021 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,021 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,021 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,021 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,022 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,022 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:44,022 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:44,022 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:44,022 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:44,022 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,022 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,022 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,022 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/cd111381-6e5d-464b-842d-2e10db3e61c3', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cd111381-6e5d-464b-842d-2e10db3e61c3', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cd111381-6e5d-464b-842d-2e10db3e61c3', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/cd111381-6e5d-464b-842d-2e10db3e61c3'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:44,022 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,022 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,022 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,022 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,022 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,023 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:44,023 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cd111381-6e5d-464b-842d-2e10db3e61c3 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083644Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:44,023 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083644Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 7e36985bc94921108ba2ae6b9122c606d1550417da076a9fb6c71c5a37b64f00 gunicorn-registry stdout | 2025-09-26 08:36:44,023 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | f762e45a7de17929af1285e9e6bf2751022edbaed25c641dd04ef2af6e24b514 gunicorn-registry stdout | 2025-09-26 08:36:44,023 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,023 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,024 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:44,024 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:44,028 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cd111381-6e5d-464b-842d-2e10db3e61c3 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:44,028 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8o6x-36izg0-1aut', 'x-amz-id-2': 'mg0l8o6x-36izg0-1aut', 'ETag': '"b56804647948f534a29bd63db3e05be4-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:43 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '593', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:44 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:44,028 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:44,028 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,028 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:44,028 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,029 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:44,029 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:44,029 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:44,029 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:44,029 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/cd111381-6e5d-464b-842d-2e10db3e61c3'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 'extra_args': {}, 'callbacks': [], 'size': 593} gunicorn-registry stdout | 2025-09-26 08:36:44,029 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,029 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,029 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,029 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,029 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,029 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,029 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,030 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,030 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,030 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,030 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:44,030 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:44,030 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:44,030 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:44,030 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,030 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,030 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,030 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cd111381-6e5d-464b-842d-2e10db3e61c3', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cd111381-6e5d-464b-842d-2e10db3e61c3', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:44,030 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,030 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,030 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,031 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,031 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,031 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:44,031 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cd111381-6e5d-464b-842d-2e10db3e61c3 gunicorn-registry stdout | x-amz-date:20250926T083644Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:44,031 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083644Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 9e0837183cc9f2febc8c5747af2467910814e48537e303881b5f50e12ca287cb gunicorn-registry stdout | 2025-09-26 08:36:44,031 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | d7779a1aed240e8d5bd9a4cb0d0c77c9a18527aa1652303dba6f5919c377246c gunicorn-registry stdout | 2025-09-26 08:36:44,031 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,031 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,031 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:44,031 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:44,032 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:44,057 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:36:44,057 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8o74-3ay55y-m9l', 'x-amz-id-2': 'mg0l8o74-3ay55y-m9l', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:36:44 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:44,057 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:44.000Z"b56804647948f534a29bd63db3e05be4-1"' gunicorn-registry stdout | 2025-09-26 08:36:44,058 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,058 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,058 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:44,058 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,058 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:44,059 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 08e2b19c-b8ca-4f43-a600-946436b53a3f with digest sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577 took 0.03832697868347168 seconds gunicorn-registry stdout | 2025-09-26 08:36:44,059 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['08e2b19c-b8ca-4f43-a600-946436b53a3f', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,062 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,064 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['fe50d501-0d40-4c71-b24e-6ee9001a30c2', 593, None, True, True, 'sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577']) gunicorn-registry stdout | 2025-09-26 08:36:44,066 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [19, 9]) gunicorn-registry stdout | 2025-09-26 08:36:44,067 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,069 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 19, datetime.datetime(2025, 9, 26, 8, 36, 44, 68974), datetime.datetime(2025, 9, 26, 9, 36, 44, 68957)]) gunicorn-registry stdout | 2025-09-26 08:36:44,071 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [18]) gunicorn-registry stdout | 2025-09-26 08:36:44,075 [257] [DEBUG] [app] Ending request: urn:request:1d5f7c70-2140-48c4-9768-739c0f330a98 (/v2/testorg/alpine/blobs/uploads/08e2b19c-b8ca-4f43-a600-946436b53a3f) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:1d5f7c70-2140-48c4-9768-739c0f330a98', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/08e2b19c-b8ca-4f43-a600-946436b53a3f?digest=sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 'path': '/v2/testorg/alpine/blobs/uploads/08e2b19c-b8ca-4f43-a600-946436b53a3f', 'parameters': {'digest': 'sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:44,075 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:44,075 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:44,075 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:44 +0000] "PUT /v2/testorg/alpine/blobs/uploads/08e2b19c-b8ca-4f43-a600-946436b53a3f?digest=sha256%3A1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:44 +0000] "PUT /v2/testorg/alpine/blobs/uploads/08e2b19c-b8ca-4f43-a600-946436b53a3f?digest=sha256%3A1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.133 1849 0.133) gunicorn-registry stdout | 2025-09-26 08:36:44,511 [250] [DEBUG] [app] Starting request: urn:request:8635e840-cf03-4bf5-8c85-3b03844f830a (/v2/testorg/alpine/blobs/sha256:3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:44,511 [257] [DEBUG] [app] Starting request: urn:request:89a2348e-cd44-4b81-9d13-d1f112b70960 (/v2/testorg/alpine/blobs/sha256:90d9ddc482be902a6ac1f0d27326597273595d46c7557771af2f3bd8b90853d1) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:44,511 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:44,511 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:44,511 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:44,511 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:90d9ddc482be902a6ac1f0d27326597273595d46c7557771af2f3bd8b90853d1', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:44,511 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:44,511 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:44,512 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:44,512 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:44,512 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:44,512 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:44,512 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:44,512 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:44,512 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:44,512 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:44,512 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:44,512 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:44,513 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,513 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,517 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,517 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,520 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:44,521 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba_2 gunicorn-registry stdout | 2025-09-26 08:36:44,521 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:44,521 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:44,521 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:90d9ddc482be902a6ac1f0d27326597273595d46c7557771af2f3bd8b90853d1_2 gunicorn-registry stdout | 2025-09-26 08:36:44,521 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:90d9ddc482be902a6ac1f0d27326597273595d46c7557771af2f3bd8b90853d1_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:44,522 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,522 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,525 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,526 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,528 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,529 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,532 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,533 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:90d9ddc482be902a6ac1f0d27326597273595d46c7557771af2f3bd8b90853d1', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,536 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,537 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:90d9ddc482be902a6ac1f0d27326597273595d46c7557771af2f3bd8b90853d1', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,539 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba_2: None gunicorn-registry stdout | 2025-09-26 08:36:44,539 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba_2: None gunicorn-registry stdout | 2025-09-26 08:36:44,539 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:44,539 [250] [DEBUG] [app] Ending request: urn:request:8635e840-cf03-4bf5-8c85-3b03844f830a (/v2/testorg/alpine/blobs/sha256:3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:8635e840-cf03-4bf5-8c85-3b03844f830a', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba', 'path': '/v2/testorg/alpine/blobs/sha256:3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:44,539 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:44,539 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:44 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.030 1714 0.030) gunicorn-registry stdout | 2025-09-26 08:36:44,540 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:44 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba HTTP/1.1" 404 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:36:44,540 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:90d9ddc482be902a6ac1f0d27326597273595d46c7557771af2f3bd8b90853d1_2: None gunicorn-registry stdout | 2025-09-26 08:36:44,540 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:90d9ddc482be902a6ac1f0d27326597273595d46c7557771af2f3bd8b90853d1_2: None gunicorn-registry stdout | 2025-09-26 08:36:44,540 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:44,540 [257] [DEBUG] [app] Ending request: urn:request:89a2348e-cd44-4b81-9d13-d1f112b70960 (/v2/testorg/alpine/blobs/sha256:90d9ddc482be902a6ac1f0d27326597273595d46c7557771af2f3bd8b90853d1) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:89a2348e-cd44-4b81-9d13-d1f112b70960', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:90d9ddc482be902a6ac1f0d27326597273595d46c7557771af2f3bd8b90853d1', 'path': '/v2/testorg/alpine/blobs/sha256:90d9ddc482be902a6ac1f0d27326597273595d46c7557771af2f3bd8b90853d1', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:44,541 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:44,541 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:44,541 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:44 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:90d9ddc482be902a6ac1f0d27326597273595d46c7557771af2f3bd8b90853d1 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:44 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:90d9ddc482be902a6ac1f0d27326597273595d46c7557771af2f3bd8b90853d1 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.031 1714 0.031) gunicorn-registry stdout | 2025-09-26 08:36:44,798 [256] [DEBUG] [app] Starting request: urn:request:1dd87821-6c1a-4d2b-977d-b7ac95ae6e0f (/v2/testorg/alpine/blobs/uploads/cdc43eb9-1731-4583-ad05-d7f91764c685) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:44,799 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'cdc43eb9-1731-4583-ad05-d7f91764c685', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:44,799 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:44,799 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:44,800 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:44,800 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:44,800 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:44,800 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:44,800 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:44,802 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,807 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,811 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,816 [256] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,820 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,825 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,828 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,833 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:44,837 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['cdc43eb9-1731-4583-ad05-d7f91764c685', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:44,841 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:44,841 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:44,841 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:44,842 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:44,842 [256] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:44,842 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,842 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,843 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,843 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,843 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,843 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,843 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,843 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,843 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:44,843 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:44,843 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:44,843 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:44,843 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,843 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,843 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,843 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:44,844 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,844 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,844 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,844 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,844 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:44,844 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083644Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:44,844 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083644Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 53dc8509f67a0048169a55176021a53c872d43eda0ea5acae1350a1c1adc0af8 gunicorn-registry stdout | 2025-09-26 08:36:44,844 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 960dedda57a869d6edf84c6cc5dde2091e4b965e184fb3d1c0e0873c2df6e279 gunicorn-registry stdout | 2025-09-26 08:36:44,844 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,844 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:44,845 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:44,846 [256] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:36:44,899 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:44,900 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ov1-10b4en-19ck', 'x-amz-id-2': 'mg0l8ov1-10b4en-19ck', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:44 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:44,900 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe968d6509cd73ec60008f933a8' gunicorn-registry stdout | 2025-09-26 08:36:44,900 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,900 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:44,900 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,901 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8ov1-10b4en-19ck', 'HostId': 'mg0l8ov1-10b4en-19ck', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ov1-10b4en-19ck', 'x-amz-id-2': 'mg0l8ov1-10b4en-19ck', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:44 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9', 'UploadId': '68d6509cd73ec60008f933a8'} gunicorn-registry stdout | 2025-09-26 08:36:44,901 [256] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:44,902 [256] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:44,902 [256] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:44,902 [256] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9', 'UploadId': '68d6509cd73ec60008f933a8', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc15080>, 'ContentLength': 5719} gunicorn-registry stdout | 2025-09-26 08:36:44,902 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,902 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,902 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,903 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,903 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,903 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,903 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,903 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,903 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:44,903 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:44,903 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:44,903 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:44,903 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,903 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,904 [256] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:44,904 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,904 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,904 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9', 'query_string': {'uploadId': '68d6509cd73ec60008f933a8', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '5719', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'GLpE5OXBtRLQaT5CabDRRg==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc15080>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9?uploadId=68d6509cd73ec60008f933a8&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9', 'UploadId': '68d6509cd73ec60008f933a8', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc15080>, 'ContentLength': 5719}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:44,904 [256] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,904 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:44,904 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,904 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,904 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:44,904 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9 gunicorn-registry stdout | partNumber=1&uploadId=68d6509cd73ec60008f933a8 gunicorn-registry stdout | content-length:5719 gunicorn-registry stdout | content-md5:GLpE5OXBtRLQaT5CabDRRg== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083644Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:44,905 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083644Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | b4630e6868588acfb5d7476b5f722fe9acf268f4ed87890898f2decad7cc82ef gunicorn-registry stdout | 2025-09-26 08:36:44,905 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | cd444c2070853753d76b0bdce7d094faa0f1c4502c64e676026dcb4185ea9c70 gunicorn-registry stdout | 2025-09-26 08:36:44,905 [256] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:44,906 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:44,906 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:44,912 [256] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:44,913 [256] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:36:44,996 [257] [DEBUG] [app] Starting request: urn:request:bdc038c9-fe8e-441b-904c-eda00d48730f (/v2/testorg/alpine/blobs/uploads/8e8ca528-6a1d-4f77-a062-80ef50899ad5) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:44,997 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '8e8ca528-6a1d-4f77-a062-80ef50899ad5', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:44,997 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:44,997 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:44,999 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:44,999 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:44,999 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:44,999 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:44,999 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:45,000 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,005 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,009 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,013 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,017 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,021 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,024 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9?uploadId=68d6509cd73ec60008f933a8&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:45,024 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,025 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ovf-18g3s3-94z', 'x-amz-id-2': 'mg0l8ovf-18g3s3-94z', 'ETag': '"18ba44e4e5c1b512d0693e4269b0d146"', 'Date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:45,025 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:45,025 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,025 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:45,025 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,025 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8ovf-18g3s3-94z', 'HostId': 'mg0l8ovf-18g3s3-94z', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ovf-18g3s3-94z', 'x-amz-id-2': 'mg0l8ovf-18g3s3-94z', 'etag': '"18ba44e4e5c1b512d0693e4269b0d146"', 'date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"18ba44e4e5c1b512d0693e4269b0d146"'} gunicorn-registry stdout | 2025-09-26 08:36:45,025 [256] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9', 'UploadId': '68d6509cd73ec60008f933a8', 'MultipartUpload': {'Parts': [{'ETag': '"18ba44e4e5c1b512d0693e4269b0d146"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:36:45,025 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,025 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,025 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,025 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,025 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,025 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,026 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,026 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:45,026 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:45,026 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:45,026 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:45,026 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,026 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,026 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,026 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9', 'query_string': {'uploadId': '68d6509cd73ec60008f933a8'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"18ba44e4e5c1b512d0693e4269b0d146"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9?uploadId=68d6509cd73ec60008f933a8', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9', 'UploadId': '68d6509cd73ec60008f933a8', 'MultipartUpload': {'Parts': [{'ETag': '"18ba44e4e5c1b512d0693e4269b0d146"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:45,026 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,026 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,026 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,026 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,027 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:45,027 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9 gunicorn-registry stdout | uploadId=68d6509cd73ec60008f933a8 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:f68357dd492123eaf37dd42cb9d444cb4c2bf25f6900103d43aaf697dab43730 gunicorn-registry stdout | x-amz-date:20250926T083645Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | f68357dd492123eaf37dd42cb9d444cb4c2bf25f6900103d43aaf697dab43730 gunicorn-registry stdout | 2025-09-26 08:36:45,027 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083645Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | bbd222d3cd197afd93070878e01dd609ffb3c07b89bb6a0c7a45cdda1f92134e gunicorn-registry stdout | 2025-09-26 08:36:45,027 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 7d1a359805330f8b60de3c3768b04723c71dc5a37b3cd16e9743edea6cc4c059 gunicorn-registry stdout | 2025-09-26 08:36:45,027 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,027 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:45,027 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:45,029 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:45,032 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['8e8ca528-6a1d-4f77-a062-80ef50899ad5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,036 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:45,036 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:45,036 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:45,037 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:45,037 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:45,038 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,038 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,038 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,038 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,038 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,038 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,038 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,038 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,038 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:45,038 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:45,038 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:45,038 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:45,038 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,038 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,038 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,038 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:45,039 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,039 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,039 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,039 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,039 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:45,039 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083645Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:45,039 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083645Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 2c612d132039f9a5df6683051e0608b89e69446e6ae33b5105e8a7861fca455f gunicorn-registry stdout | 2025-09-26 08:36:45,039 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | adfcd60376f8c1601e5ca5a0c051b9ffa1d48d69fcd6073532c52d5be5291489 gunicorn-registry stdout | 2025-09-26 08:36:45,039 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,039 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:45,039 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:45,042 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9?uploadId=68d6509cd73ec60008f933a8 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:36:45,042 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8oys-38gpwr-a48', 'x-amz-id-2': 'mg0l8oys-38gpwr-a48', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:45,042 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9"7b63811f71804eeae2341355191851fc-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9?uploadId=68d6509cd73ec60008f933a8' gunicorn-registry stdout | 2025-09-26 08:36:45,043 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,043 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,043 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:45,043 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,043 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8oys-38gpwr-a48', 'HostId': 'mg0l8oys-38gpwr-a48', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8oys-38gpwr-a48', 'x-amz-id-2': 'mg0l8oys-38gpwr-a48', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9?uploadId=68d6509cd73ec60008f933a8', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9', 'ETag': '"7b63811f71804eeae2341355191851fc-1"'} gunicorn-registry stdout | 2025-09-26 08:36:45,043 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:45,044 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:45,044 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:45,044 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8oz4-3fro1z-jn4', 'x-amz-id-2': 'mg0l8oz4-3fro1z-jn4', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:45,044 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf568d6509dd73ec60008f933ae' gunicorn-registry stdout | 2025-09-26 08:36:45,044 [256] [DEBUG] [data.registry_model.blobuploader] Uploaded 5719 bytes to blob cdc43eb9-1731-4583-ad05-d7f91764c685 took 0.2034008502960205 seconds gunicorn-registry stdout | 2025-09-26 08:36:45,044 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,045 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:45,045 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,045 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8oz4-3fro1z-jn4', 'HostId': 'mg0l8oz4-3fro1z-jn4', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8oz4-3fro1z-jn4', 'x-amz-id-2': 'mg0l8oz4-3fro1z-jn4', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5', 'UploadId': '68d6509dd73ec60008f933ae'} gunicorn-registry stdout | 2025-09-26 08:36:45,045 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:45,045 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['cdc43eb9-1731-4583-ad05-d7f91764c685', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,050 [256] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, 'cdc43eb9-1731-4583-ad05-d7f91764c685', 5719, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwaXRAdjEjaGVybWV0aWMiOnRydWV9fX05MTgxfV1dfX0sImh0dHBzOi8vbW9ieXByb2plY3Qub3JnL2J1aWxkaxcAAAAAAAAAALIAAAAAAADOWRZRVsm4Nn2TbMdbTO2xzVNg/fJWjICpDtqzhPAYsJRiLg==', 9, '{"chunks": [["uploads/a5d2286b-d6c5-4412-8d80-c746fe59cfe9", 0, 5719]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 36, 44, 755031), None, None, 19]) gunicorn-registry stdout | 2025-09-26 08:36:45,055 [256] [DEBUG] [app] Ending request: urn:request:1dd87821-6c1a-4d2b-977d-b7ac95ae6e0f (/v2/testorg/alpine/blobs/uploads/cdc43eb9-1731-4583-ad05-d7f91764c685) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:1dd87821-6c1a-4d2b-977d-b7ac95ae6e0f', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/cdc43eb9-1731-4583-ad05-d7f91764c685', 'path': '/v2/testorg/alpine/blobs/uploads/cdc43eb9-1731-4583-ad05-d7f91764c685', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:45,055 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:45,055 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:45,055 [256] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:45 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/cdc43eb9-1731-4583-ad05-d7f91764c685 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:45 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/cdc43eb9-1731-4583-ad05-d7f91764c685 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.258 7492 0.258) gunicorn-registry stdout | 2025-09-26 08:36:45,070 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:45,070 [257] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:45,070 [257] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5', 'UploadId': '68d6509dd73ec60008f933ae', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc604f0>, 'ContentLength': 80992} gunicorn-registry stdout | 2025-09-26 08:36:45,070 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,070 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,071 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,071 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,071 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,071 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,071 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,071 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,071 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:45,071 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:45,071 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:45,071 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:45,071 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,071 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,071 [257] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:45,071 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,072 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,072 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5', 'query_string': {'uploadId': '68d6509dd73ec60008f933ae', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '80992', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': '8JyWVC2X25fNycjWyhRcVg==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc604f0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5?uploadId=68d6509dd73ec60008f933ae&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5', 'UploadId': '68d6509dd73ec60008f933ae', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc604f0>, 'ContentLength': 80992}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:45,072 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,072 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,072 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,072 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,072 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:45,072 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5 gunicorn-registry stdout | partNumber=1&uploadId=68d6509dd73ec60008f933ae gunicorn-registry stdout | content-length:80992 gunicorn-registry stdout | content-md5:8JyWVC2X25fNycjWyhRcVg== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083645Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:45,072 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083645Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | cc3f5bc151d2c5c7eea5843036a977416988d4db1c4b45ca61213606dc723fe9 gunicorn-registry stdout | 2025-09-26 08:36:45,072 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 532d696763c9c47e6fb1db89c87216251c26fe52d6e09aa9d1ea6bfb35404008 gunicorn-registry stdout | 2025-09-26 08:36:45,072 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,072 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:45,073 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:45,074 [257] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:45,074 [257] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:36:45,153 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5?uploadId=68d6509dd73ec60008f933ae&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:45,154 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8p02-3zwemp-r5c', 'x-amz-id-2': 'mg0l8p02-3zwemp-r5c', 'ETag': '"f09c96542d97db97cdc9c8d6ca145c56"', 'Date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:45,154 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:45,154 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,154 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:45,154 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,154 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8p02-3zwemp-r5c', 'HostId': 'mg0l8p02-3zwemp-r5c', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8p02-3zwemp-r5c', 'x-amz-id-2': 'mg0l8p02-3zwemp-r5c', 'etag': '"f09c96542d97db97cdc9c8d6ca145c56"', 'date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"f09c96542d97db97cdc9c8d6ca145c56"'} gunicorn-registry stdout | 2025-09-26 08:36:45,154 [257] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5', 'UploadId': '68d6509dd73ec60008f933ae', 'MultipartUpload': {'Parts': [{'ETag': '"f09c96542d97db97cdc9c8d6ca145c56"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:36:45,154 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,154 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,154 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,154 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,155 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,155 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,155 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,155 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:45,155 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:45,155 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:45,155 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:45,155 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,155 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,155 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,155 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5', 'query_string': {'uploadId': '68d6509dd73ec60008f933ae'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"f09c96542d97db97cdc9c8d6ca145c56"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5?uploadId=68d6509dd73ec60008f933ae', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5', 'UploadId': '68d6509dd73ec60008f933ae', 'MultipartUpload': {'Parts': [{'ETag': '"f09c96542d97db97cdc9c8d6ca145c56"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:45,155 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,156 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,156 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,156 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,156 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:45,156 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5 gunicorn-registry stdout | uploadId=68d6509dd73ec60008f933ae gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:5d9fac37743525846765f98eb5e266542377f128b707952f84df5cdd6e235e0d gunicorn-registry stdout | x-amz-date:20250926T083645Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 5d9fac37743525846765f98eb5e266542377f128b707952f84df5cdd6e235e0d gunicorn-registry stdout | 2025-09-26 08:36:45,156 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083645Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 011e3f9923a601e53692ff928d2cf01181cf4d88dccb1073cd45564a7279d897 gunicorn-registry stdout | 2025-09-26 08:36:45,156 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 8abd91a5e4f89a56b27f36d99d317413fa924362641984ed28d83f8666bb675a gunicorn-registry stdout | 2025-09-26 08:36:45,156 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,156 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:45,156 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:45,171 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5?uploadId=68d6509dd73ec60008f933ae HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:36:45,172 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8p2d-5ddaiu-s73', 'x-amz-id-2': 'mg0l8p2d-5ddaiu-s73', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:45,172 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5"247c002cb45736cc4164ca1fefb164e0-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5?uploadId=68d6509dd73ec60008f933ae' gunicorn-registry stdout | 2025-09-26 08:36:45,172 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,172 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,172 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:45,172 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,172 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8p2d-5ddaiu-s73', 'HostId': 'mg0l8p2d-5ddaiu-s73', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8p2d-5ddaiu-s73', 'x-amz-id-2': 'mg0l8p2d-5ddaiu-s73', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5?uploadId=68d6509dd73ec60008f933ae', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5', 'ETag': '"247c002cb45736cc4164ca1fefb164e0-1"'} gunicorn-registry stdout | 2025-09-26 08:36:45,172 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:45,174 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:45,174 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 80992 bytes to blob 8e8ca528-6a1d-4f77-a062-80ef50899ad5 took 0.13773274421691895 seconds gunicorn-registry stdout | 2025-09-26 08:36:45,174 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['8e8ca528-6a1d-4f77-a062-80ef50899ad5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,178 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '8e8ca528-6a1d-4f77-a062-80ef50899ad5', 80992, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwb25zaGlwVHlwZSI6IkdFTkVSQVRFRF9GUk9NIn1dfX1iMjIxNTNmYzZhNGY4ZWM5NmRkMTM1OCIsInJlbGF0aSAAAAAAAAAAAOIJAAAAAACpzH0t3+H7TKB2X9BR7lb7eBs5JxBz6H0YoGdVyJ9y45RiLg==', 9, '{"chunks": [["uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5", 0, 80992]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 36, 44, 953246), None, None, 20]) gunicorn-registry stdout | 2025-09-26 08:36:45,183 [257] [DEBUG] [app] Ending request: urn:request:bdc038c9-fe8e-441b-904c-eda00d48730f (/v2/testorg/alpine/blobs/uploads/8e8ca528-6a1d-4f77-a062-80ef50899ad5) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:bdc038c9-fe8e-441b-904c-eda00d48730f', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/8e8ca528-6a1d-4f77-a062-80ef50899ad5', 'path': '/v2/testorg/alpine/blobs/uploads/8e8ca528-6a1d-4f77-a062-80ef50899ad5', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:45,183 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:45,184 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:45,184 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:45 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/8e8ca528-6a1d-4f77-a062-80ef50899ad5 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:45 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/8e8ca528-6a1d-4f77-a062-80ef50899ad5 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.188 82766 0.188) gunicorn-registry stdout | 2025-09-26 08:36:45,223 [250] [DEBUG] [app] Starting request: urn:request:ec8055fe-74ad-4555-8100-c994dea15d37 (/v2/testorg/alpine/blobs/uploads/8e8ca528-6a1d-4f77-a062-80ef50899ad5) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:45,224 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '8e8ca528-6a1d-4f77-a062-80ef50899ad5', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:45,224 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:45,224 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:45,225 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:45,225 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:45,225 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:45,225 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:45,225 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:45,226 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,230 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,234 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,237 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,241 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,245 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,248 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,252 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:45,255 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['8e8ca528-6a1d-4f77-a062-80ef50899ad5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,260 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:45,260 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:45,260 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:45,261 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:45,261 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/10d5a3f1-6f91-4a77-bb9d-240224129af7', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:45,262 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,262 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,262 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,262 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,262 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,262 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,262 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,262 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,262 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:45,262 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:45,262 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:45,262 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:45,263 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,263 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,263 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,263 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/10d5a3f1-6f91-4a77-bb9d-240224129af7?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/10d5a3f1-6f91-4a77-bb9d-240224129af7', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/10d5a3f1-6f91-4a77-bb9d-240224129af7?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/10d5a3f1-6f91-4a77-bb9d-240224129af7', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:45,263 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,263 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,263 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,263 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,264 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:45,264 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/10d5a3f1-6f91-4a77-bb9d-240224129af7 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083645Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:45,264 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083645Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | e95dfb062093ea2e34f1f895ca8a6d48efae5651c6865608c83585cc1bbd8de1 gunicorn-registry stdout | 2025-09-26 08:36:45,264 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | e40f55958323c9be730ee675b7b9f85df92977d5b30840c5bed92475e73b807a gunicorn-registry stdout | 2025-09-26 08:36:45,264 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,264 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:45,264 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:45,270 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/10d5a3f1-6f91-4a77-bb9d-240224129af7?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:45,271 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8p5e-75xsmq-4mp', 'x-amz-id-2': 'mg0l8p5e-75xsmq-4mp', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:45,271 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/10d5a3f1-6f91-4a77-bb9d-240224129af768d6509dd73ec60008f933b7' gunicorn-registry stdout | 2025-09-26 08:36:45,271 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,271 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:45,271 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,271 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8p5e-75xsmq-4mp', 'HostId': 'mg0l8p5e-75xsmq-4mp', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8p5e-75xsmq-4mp', 'x-amz-id-2': 'mg0l8p5e-75xsmq-4mp', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/10d5a3f1-6f91-4a77-bb9d-240224129af7', 'UploadId': '68d6509dd73ec60008f933b7'} gunicorn-registry stdout | 2025-09-26 08:36:45,271 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:45,272 [250] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/10d5a3f1-6f91-4a77-bb9d-240224129af7', 'UploadId': '68d6509dd73ec60008f933b7'} gunicorn-registry stdout | 2025-09-26 08:36:45,272 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,272 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,272 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,272 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,272 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,272 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,272 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:45,272 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:45,272 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:45,272 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:45,273 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,273 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,273 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,273 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/10d5a3f1-6f91-4a77-bb9d-240224129af7', 'query_string': {'uploadId': '68d6509dd73ec60008f933b7'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/10d5a3f1-6f91-4a77-bb9d-240224129af7', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/10d5a3f1-6f91-4a77-bb9d-240224129af7?uploadId=68d6509dd73ec60008f933b7', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/10d5a3f1-6f91-4a77-bb9d-240224129af7', 'UploadId': '68d6509dd73ec60008f933b7'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:45,273 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,273 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,273 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,273 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,273 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:45,274 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/10d5a3f1-6f91-4a77-bb9d-240224129af7 gunicorn-registry stdout | uploadId=68d6509dd73ec60008f933b7 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083645Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:45,274 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083645Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | c21baf7ddc6a52a5d88bb84b140bdc7ca708ab9b2b6633e4f0604062d3574ece gunicorn-registry stdout | 2025-09-26 08:36:45,274 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | bc5fe63070d02da7ebc5b7fc6651221dce21e967340689a05c5296fba2809f5c gunicorn-registry stdout | 2025-09-26 08:36:45,274 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,274 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:45,274 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:45,281 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/10d5a3f1-6f91-4a77-bb9d-240224129af7?uploadId=68d6509dd73ec60008f933b7 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:45,281 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8p5o-7bx29m-td4', 'x-amz-id-2': 'mg0l8p5o-7bx29m-td4', 'Date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:45,281 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:45,281 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,281 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:45,281 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,281 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8p5o-7bx29m-td4', 'HostId': 'mg0l8p5o-7bx29m-td4', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8p5o-7bx29m-td4', 'x-amz-id-2': 'mg0l8p5o-7bx29m-td4', 'date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:45,282 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 8e8ca528-6a1d-4f77-a062-80ef50899ad5 took 0.021693944931030273 seconds gunicorn-registry stdout | 2025-09-26 08:36:45,282 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['8e8ca528-6a1d-4f77-a062-80ef50899ad5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,286 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '8e8ca528-6a1d-4f77-a062-80ef50899ad5', 80992, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwb25zaGlwVHlwZSI6IkdFTkVSQVRFRF9GUk9NIn1dfX1iMjIxNTNmYzZhNGY4ZWM5NmRkMTM1OCIsInJlbGF0aSAAAAAAAAAAAOIJAAAAAACpzH0t3+H7TKB2X9BR7lb7eBs5JxBz6H0YoGdVyJ9y45RiLg==', 9, '{"chunks": [["uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5", 0, 80992]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 36, 44, 953246), None, None, 20]) gunicorn-registry stdout | 2025-09-26 08:36:45,290 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:45,291 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:45,291 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:45,292 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:45,292 [250] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/30/3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba'} gunicorn-registry stdout | 2025-09-26 08:36:45,292 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,292 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,292 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,292 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,292 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,292 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,292 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,292 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:45,292 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:45,292 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:45,292 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:45,292 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,292 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,293 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,293 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/30/3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/30/3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/30/3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/30/3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:45,293 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,293 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,293 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,293 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,293 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:45,293 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/30/3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083645Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:45,293 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083645Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 6263e6a2fd0a546be363d4662443579aea77e332caa1981be3734f8c491e5e71 gunicorn-registry stdout | 2025-09-26 08:36:45,293 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | fdfd222e40c48c535e45f89493ab8a098117cd8f553bf6b2c8db42955795ca6c gunicorn-registry stdout | 2025-09-26 08:36:45,293 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,293 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:45,294 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:45,298 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/30/3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:45,298 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8p66-7mzfv8-ugc', 'x-amz-id-2': 'mg0l8p66-7mzfv8-ugc', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:45,298 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:45,298 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,298 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:45,298 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,298 [250] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:45,298 [250] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:45,298 [250] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/30/3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba gunicorn-registry stdout | 2025-09-26 08:36:45,299 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:45,299 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:45,299 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:45,299 [250] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:45,299 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,299 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,299 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,299 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,299 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,300 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,300 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,300 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:45,300 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:45,300 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:45,300 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:45,300 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,300 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,300 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,300 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:45,300 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,300 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,300 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,300 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,301 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,301 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:45,301 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083645Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:45,301 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083645Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 876c1034255f0c96a5496beee2dce3e1a0ee4cc9086017c0f71dbb5a86882bbf gunicorn-registry stdout | 2025-09-26 08:36:45,301 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 9d1a0293a3e284a64772fde4faaf853bb925801419fa29c65e949590bfd07072 gunicorn-registry stdout | 2025-09-26 08:36:45,301 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,301 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,301 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:45,302 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:45,305 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:45,305 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8p6e-7rpi4j-155r', 'x-amz-id-2': 'mg0l8p6e-7rpi4j-155r', 'ETag': '"247c002cb45736cc4164ca1fefb164e0-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:45 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '80992', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:45,305 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:45,306 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,306 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:45,306 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,306 [250] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/30/3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:45,306 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:45,306 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/30/3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:45,306 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/30/3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:45,306 [250] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/30/3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/30/3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba', 'extra_args': {}, 'callbacks': [], 'size': 80992} gunicorn-registry stdout | 2025-09-26 08:36:45,306 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,306 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,306 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,306 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,306 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,306 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,306 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,306 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,306 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,306 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,307 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:45,307 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:45,307 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:45,307 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:45,307 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,307 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,307 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,307 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/30/3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/30/3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/30/3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/30/3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:45,307 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,307 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,307 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,307 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,307 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,307 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:45,307 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/30/3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3a57b99-17bd-4b8b-acbd-702cae616cf5 gunicorn-registry stdout | x-amz-date:20250926T083645Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:45,307 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083645Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | afad9d022848e90a83374fc575af6c572c06ebadc7a9a5826b47c66ee993dc5f gunicorn-registry stdout | 2025-09-26 08:36:45,307 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | d91248e76999c086893cb96b729513d7b45c5484d774ff5313bcd724c9a0540d gunicorn-registry stdout | 2025-09-26 08:36:45,308 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,308 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,308 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:45,308 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:45,308 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:45,334 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/30/3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:36:45,335 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8p6l-7vjklo-9t4', 'x-amz-id-2': 'mg0l8p6l-7vjklo-9t4', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:45,335 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:45.000Z"247c002cb45736cc4164ca1fefb164e0-1"' gunicorn-registry stdout | 2025-09-26 08:36:45,335 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,335 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,335 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:45,335 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,335 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:45,336 [250] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 8e8ca528-6a1d-4f77-a062-80ef50899ad5 with digest sha256:3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba took 0.03802037239074707 seconds gunicorn-registry stdout | 2025-09-26 08:36:45,337 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['8e8ca528-6a1d-4f77-a062-80ef50899ad5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,340 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,341 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['d6a55bea-bdb2-4829-b2c1-b6d5f4fa1af7', 80992, None, True, True, 'sha256:3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba']) gunicorn-registry stdout | 2025-09-26 08:36:45,343 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [21, 9]) gunicorn-registry stdout | 2025-09-26 08:36:45,344 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,346 [250] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 21, datetime.datetime(2025, 9, 26, 8, 36, 45, 345968), datetime.datetime(2025, 9, 26, 9, 36, 45, 345941)]) gunicorn-registry stdout | 2025-09-26 08:36:45,347 [250] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [20]) gunicorn-registry stdout | 2025-09-26 08:36:45,351 [250] [DEBUG] [app] Ending request: urn:request:ec8055fe-74ad-4555-8100-c994dea15d37 (/v2/testorg/alpine/blobs/uploads/8e8ca528-6a1d-4f77-a062-80ef50899ad5) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:ec8055fe-74ad-4555-8100-c994dea15d37', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/8e8ca528-6a1d-4f77-a062-80ef50899ad5?digest=sha256:3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba', 'path': '/v2/testorg/alpine/blobs/uploads/8e8ca528-6a1d-4f77-a062-80ef50899ad5', 'parameters': {'digest': 'sha256:3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:45,351 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:45,352 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:45,352 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:45 +0000] "PUT /v2/testorg/alpine/blobs/uploads/8e8ca528-6a1d-4f77-a062-80ef50899ad5?digest=sha256%3A3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:45 +0000] "PUT /v2/testorg/alpine/blobs/uploads/8e8ca528-6a1d-4f77-a062-80ef50899ad5?digest=sha256%3A3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.130 1849 0.130) gunicorn-registry stdout | 2025-09-26 08:36:45,883 [257] [DEBUG] [app] Starting request: urn:request:6b3e5f55-91e7-4ffe-9c6b-d7dba737a9d3 (/v2/testorg/alpine/blobs/uploads/84b70689-dfff-4410-bfdc-8ebc2e0ecbe8) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:45,883 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '84b70689-dfff-4410-bfdc-8ebc2e0ecbe8', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:45,883 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:45,883 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:45,884 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:45,884 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:45,884 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:45,884 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:45,885 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:45,885 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,890 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,894 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,897 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,900 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,904 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,907 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,912 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:45,915 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['84b70689-dfff-4410-bfdc-8ebc2e0ecbe8', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,919 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:45,919 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:45,919 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:45,920 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:45,920 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/4f3c74bb-78fc-43d4-8ee4-747bb4fa4875', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:45,920 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,920 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,920 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,921 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,921 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,921 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,921 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,921 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,921 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:45,921 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:45,921 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:45,921 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:45,921 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,921 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,921 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,921 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/4f3c74bb-78fc-43d4-8ee4-747bb4fa4875?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4f3c74bb-78fc-43d4-8ee4-747bb4fa4875', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4f3c74bb-78fc-43d4-8ee4-747bb4fa4875?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/4f3c74bb-78fc-43d4-8ee4-747bb4fa4875', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:45,921 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,921 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,921 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,921 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,922 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:45,922 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4f3c74bb-78fc-43d4-8ee4-747bb4fa4875 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083645Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:45,922 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083645Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 9c727d371d39c013c84bd726c2329c19e948dc55e14e0ee626585c525a9afbb9 gunicorn-registry stdout | 2025-09-26 08:36:45,922 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 15ef55bc2f911f8970408fa2e551073d286986569ee5e1c42c2478cd5e1d0d62 gunicorn-registry stdout | 2025-09-26 08:36:45,922 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,922 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:45,922 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:45,928 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4f3c74bb-78fc-43d4-8ee4-747bb4fa4875?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:45,928 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8pno-1igz1r-u2o', 'x-amz-id-2': 'mg0l8pno-1igz1r-u2o', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:45,928 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/4f3c74bb-78fc-43d4-8ee4-747bb4fa487568d6509dd73ec60008f933c0' gunicorn-registry stdout | 2025-09-26 08:36:45,929 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,929 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:45,929 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,929 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8pno-1igz1r-u2o', 'HostId': 'mg0l8pno-1igz1r-u2o', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8pno-1igz1r-u2o', 'x-amz-id-2': 'mg0l8pno-1igz1r-u2o', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/4f3c74bb-78fc-43d4-8ee4-747bb4fa4875', 'UploadId': '68d6509dd73ec60008f933c0'} gunicorn-registry stdout | 2025-09-26 08:36:45,929 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:45,930 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/4f3c74bb-78fc-43d4-8ee4-747bb4fa4875', 'UploadId': '68d6509dd73ec60008f933c0'} gunicorn-registry stdout | 2025-09-26 08:36:45,930 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,930 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,930 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,930 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,930 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,930 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,930 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:45,930 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:45,930 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:45,930 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:45,930 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,930 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,930 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,930 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/4f3c74bb-78fc-43d4-8ee4-747bb4fa4875', 'query_string': {'uploadId': '68d6509dd73ec60008f933c0'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4f3c74bb-78fc-43d4-8ee4-747bb4fa4875', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4f3c74bb-78fc-43d4-8ee4-747bb4fa4875?uploadId=68d6509dd73ec60008f933c0', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/4f3c74bb-78fc-43d4-8ee4-747bb4fa4875', 'UploadId': '68d6509dd73ec60008f933c0'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:45,930 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,930 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,931 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,931 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,931 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:45,931 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4f3c74bb-78fc-43d4-8ee4-747bb4fa4875 gunicorn-registry stdout | uploadId=68d6509dd73ec60008f933c0 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083645Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:45,931 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083645Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 05ba055790b9a07efda1ae5c478353afa42dbc968a6591a6f84b2fd3d7099d35 gunicorn-registry stdout | 2025-09-26 08:36:45,931 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | fb7431dcb7018727de3138d3435e31b81c140a4c1bd1f0624a10f4473c261f6a gunicorn-registry stdout | 2025-09-26 08:36:45,931 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,931 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:45,931 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:45,938 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4f3c74bb-78fc-43d4-8ee4-747bb4fa4875?uploadId=68d6509dd73ec60008f933c0 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:45,938 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8pnw-1n9l7o-5ui', 'x-amz-id-2': 'mg0l8pnw-1n9l7o-5ui', 'Date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:45,938 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:45,938 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,939 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:45,939 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,939 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8pnw-1n9l7o-5ui', 'HostId': 'mg0l8pnw-1n9l7o-5ui', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8pnw-1n9l7o-5ui', 'x-amz-id-2': 'mg0l8pnw-1n9l7o-5ui', 'date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:45,939 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 84b70689-dfff-4410-bfdc-8ebc2e0ecbe8 took 0.01977825164794922 seconds gunicorn-registry stdout | 2025-09-26 08:36:45,940 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['84b70689-dfff-4410-bfdc-8ebc2e0ecbe8', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,944 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '84b70689-dfff-4410-bfdc-8ebc2e0ecbe8', 241, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwMWYwZDI3MzI2NTk3MjczNTk1ZDQ2Yzc1NTc3NzFhZjJmM2JkOGI5MDg1M2QxIl19fWRkYzQ4MmJlOTAyYTZhYzEAAAAAAAAAAAYAAAAAAADPADj0jw/kSReN8EuO05Nd0xm0Wi6y+V3+WLTeZ+4kCpRiLg==', 9, '{"chunks": [["uploads/56edcb5b-1f5a-4c79-90d7-ca7350ad3de5", 0, 241]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 36, 45, 664979), None, None, 21]) exportactionlogsworker stdout | 2025-09-26 08:36:45,947 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:36:45,947 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:50.940190+00:00 (in 4.992734 seconds) exportactionlogsworker stdout | 2025-09-26 08:36:45,947 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:45 GMT)" (scheduled at 2025-09-26 08:36:45.946993+00:00) exportactionlogsworker stdout | 2025-09-26 08:36:45,947 [56] [DEBUG] [workers.queueworker] Running watchdog. exportactionlogsworker stdout | 2025-09-26 08:36:45,947 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:45 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:36:45,949 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:45,949 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:45,949 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:45,950 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:45,950 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07'} gunicorn-registry stdout | 2025-09-26 08:36:45,950 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,950 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,950 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,950 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,950 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,950 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,950 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,950 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:45,950 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:45,950 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:45,950 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:45,951 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,951 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,951 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,951 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:45,951 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,951 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,951 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,951 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,951 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:45,951 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083645Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:45,951 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083645Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 30284d08960117c8d0932e9428f752bacc9286a120ee4e0d2f43810e40466d0b gunicorn-registry stdout | 2025-09-26 08:36:45,951 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | c84a3d13652779e674d49a6ea577c559e17bd7f4aa8cb9b5a8e1b65e45c05147 gunicorn-registry stdout | 2025-09-26 08:36:45,951 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,951 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:45,952 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:45,956 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:45,956 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8pog-1zfyot-17vl', 'x-amz-id-2': 'mg0l8pog-1zfyot-17vl', 'Content-Type': 'application/xml', 'Content-Length': '339', 'Date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:45,956 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:45,956 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,956 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:45,956 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,957 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:45,957 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:45,957 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07 gunicorn-registry stdout | 2025-09-26 08:36:45,957 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:45,957 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:45,957 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:45,957 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:45,957 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,957 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,957 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,957 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,957 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,958 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,958 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,958 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:45,958 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:45,958 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:45,958 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:45,958 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,958 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,958 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,959 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/56edcb5b-1f5a-4c79-90d7-ca7350ad3de5', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56edcb5b-1f5a-4c79-90d7-ca7350ad3de5', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56edcb5b-1f5a-4c79-90d7-ca7350ad3de5', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/56edcb5b-1f5a-4c79-90d7-ca7350ad3de5'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:45,959 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,959 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,959 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,959 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,959 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,959 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:45,959 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56edcb5b-1f5a-4c79-90d7-ca7350ad3de5 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083645Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:45,959 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083645Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 432d65a2fe01634ddf197a726d5579e2ba581fd004891c1f9e42fc700066cdf1 gunicorn-registry stdout | 2025-09-26 08:36:45,959 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | bf3277d822b6d452014621a5c7d1c269dee52b3732c2ae7c10f45e06bcafcf13 gunicorn-registry stdout | 2025-09-26 08:36:45,959 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,959 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,959 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:45,959 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:45,964 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56edcb5b-1f5a-4c79-90d7-ca7350ad3de5 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:45,964 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8poo-249faq-1dq1', 'x-amz-id-2': 'mg0l8poo-249faq-1dq1', 'ETag': '"3121b88a3c6c2de99e86fe4710f17176-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:45 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:45,965 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:45,965 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,965 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:45,965 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,965 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:45,965 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:45,965 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:45,965 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:45,965 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/56edcb5b-1f5a-4c79-90d7-ca7350ad3de5'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07', 'extra_args': {}, 'callbacks': [], 'size': 241} gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56edcb5b-1f5a-4c79-90d7-ca7350ad3de5', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56edcb5b-1f5a-4c79-90d7-ca7350ad3de5', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,966 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,967 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,967 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,967 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:45,967 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56edcb5b-1f5a-4c79-90d7-ca7350ad3de5 gunicorn-registry stdout | x-amz-date:20250926T083645Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:45,967 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083645Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 2a723a9bb6bff6ba479fede648be5c0ddf74310bb6e0ad9f2259cfea1a0bc996 gunicorn-registry stdout | 2025-09-26 08:36:45,967 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 2d4f3fa89081981ad2009edf32e5c34e7d433c58d44d07464311aa496ea2638a gunicorn-registry stdout | 2025-09-26 08:36:45,967 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,967 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,967 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:45,967 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:45,968 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:45,991 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:36:45,991 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8pow-28tr34-vam', 'x-amz-id-2': 'mg0l8pow-28tr34-vam', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:36:45 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:45,991 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:45.000Z"3121b88a3c6c2de99e86fe4710f17176-1"' gunicorn-registry stdout | 2025-09-26 08:36:45,992 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,992 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:45,993 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:45,993 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:45,993 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:45,993 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 84b70689-dfff-4410-bfdc-8ebc2e0ecbe8 with digest sha256:48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07 took 0.036829471588134766 seconds gunicorn-registry stdout | 2025-09-26 08:36:45,994 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['84b70689-dfff-4410-bfdc-8ebc2e0ecbe8', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,997 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:45,999 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['14468196-ae3a-4490-a631-eab752452e6a', 241, None, True, True, 'sha256:48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07']) gunicorn-registry stdout | 2025-09-26 08:36:46,001 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [22, 9]) gunicorn-registry stdout | 2025-09-26 08:36:46,002 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:46,004 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 22, datetime.datetime(2025, 9, 26, 8, 36, 46, 4257), datetime.datetime(2025, 9, 26, 9, 36, 46, 4241)]) gunicorn-registry stdout | 2025-09-26 08:36:46,005 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [21]) gunicorn-registry stdout | 2025-09-26 08:36:46,009 [257] [DEBUG] [app] Ending request: urn:request:6b3e5f55-91e7-4ffe-9c6b-d7dba737a9d3 (/v2/testorg/alpine/blobs/uploads/84b70689-dfff-4410-bfdc-8ebc2e0ecbe8) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:6b3e5f55-91e7-4ffe-9c6b-d7dba737a9d3', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/84b70689-dfff-4410-bfdc-8ebc2e0ecbe8?digest=sha256:48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07', 'path': '/v2/testorg/alpine/blobs/uploads/84b70689-dfff-4410-bfdc-8ebc2e0ecbe8', 'parameters': {'digest': 'sha256:48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:46,009 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:46,009 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:46,010 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:46 +0000] "PUT /v2/testorg/alpine/blobs/uploads/84b70689-dfff-4410-bfdc-8ebc2e0ecbe8?digest=sha256%3A48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:46 +0000] "PUT /v2/testorg/alpine/blobs/uploads/84b70689-dfff-4410-bfdc-8ebc2e0ecbe8?digest=sha256%3A48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.127 1849 0.128) notificationworker stdout | 2025-09-26 08:36:46,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:36:46,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:56.440077+00:00 (in 9.999570 seconds) notificationworker stdout | 2025-09-26 08:36:46,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:56 GMT)" (scheduled at 2025-09-26 08:36:46.440077+00:00) notificationworker stdout | 2025-09-26 08:36:46,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:36:46,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 36, 46, 440821), True, datetime.datetime(2025, 9, 26, 8, 36, 46, 440821), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:36:46,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:36:46,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:36:46,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:36:56 GMT)" executed successfully gunicorn-web stdout | 2025-09-26 08:36:46,605 [242] [DEBUG] [app] Starting request: urn:request:c15f02f2-8309-4a82-b670-606877386292 (/_storage_proxy_auth) {'X-Forwarded-For': '3.131.182.156'} gunicorn-web stdout | 2025-09-26 08:36:46,606 [242] [DEBUG] [storage.downloadproxy] Got token b'eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODA2LCJpYXQiOjE3NTg4NzU4MDYsImV4cCI6MTc1ODg3NjQwNiwic3ViIjoic3RvcmFnZXByb3h5IiwiYWNjZXNzIjpbeyJ0eXBlIjoic3RvcmFnZXByb3h5IiwidXJpIjoicXVheS1kYXRhc3RvcmUtZTI5YzM5OTQtNjJlYi00ZTlmLTk1NTAtYmFhMTFmODc0MDg0L2RhdGFzdG9yYWdlL3JlZ2lzdHJ5L3NoYTI1Ni9mZS9mZTA3Njg0YjE2YjgyMjQ3YzM1MzllZDg2YTY1ZmYzN2E3NjEzOGVjMjVkMzgwYmQ4MGM4NjlhMWE0YzczMjM2P0FXU0FjY2Vzc0tleUlkPUtxVUFodjYwQUdsQUREcTBNY0taJlNpZ25hdHVyZT1La2lzc3NKaTFid2JTeVEwQVU3NVZIb1h4eTAlM0QmRXhwaXJlcz0xNzU4ODc2NDA2IiwiaG9zdCI6InMzLm9wZW5zaGlmdC1zdG9yYWdlLnN2Yy5jbHVzdGVyLmxvY2FsOjQ0MyIsInNjaGVtZSI6Imh0dHBzIn1dLCJjb250ZXh0Ijp7fX0.cewKpuVbpXux1Jw7fsCqaZv7aYFV_CTm6KqxDgkyh0q75IbFyC5_glJKb0Kkdj3Vz9Nl-u0Lmoy9qKkSWYHPcDHPU9xMxJKWztPz3wrFqVV09oKIT5_IWpzUZKdrV0qJZI3KJ6N81TYqPawwZ10EPXimP57zF-AgtIHo_Wm3CNgm6iWAPJzfbBprdKCBqlPMQlGTeTg-B5tKogWtvoQPoOxPKWVbT1NLnBfmkge-uKzGF0ZQKSlrefJ-KjD5hyztbuvmJMS88Gz7qHH1ogQNrYoMF5pm9Vx5GDWr-ZDdMWXUDgbxkL9a0DTXqlBMkEhtQDS1jiGrJ8IwbmVEWIg3Yg' for storage proxy auth request /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EQTJMQ0pwWVhRaU9qRTNOVGc0TnpVNE1EWXNJbVY0Y0NJNk1UYzFPRGczTmpRd05pd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5bVpTOW1aVEEzTmpnMFlqRTJZamd5TWpRM1l6TTFNemxsWkRnMllUWTFabVl6TjJFM05qRXpPR1ZqTWpWa016Z3dZbVE0TUdNNE5qbGhNV0UwWXpjek1qTTJQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFMYTJsemMzTkthVEZpZDJKVGVWRXdRVlUzTlZaSWIxaDRlVEFsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRBMklpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuY2V3S3B1VmJwWHV4MUp3N2ZzQ3FhWnY3YVlGVl9DVG02S3F4RGdreWgwcTc1SWJGeUM1X2dsSktiMEtrZGozVno5TmwtdTBMbW95OXFLa1NXWUhQY0RIUFU5eE14SktXenRQejN3ckZxVlYwOW9LSVQ1X0lXcHpVWktkclYwcUpaSTNLSjZOODFUWXFQYXd3WjEwRVBYaW1QNTd6Ri1BZ3RJSG9fV20zQ05nbTZpV0FQSnpmYkJwcmRLQ0JxbFBNUWxHVGVUZy1CNXRLb2dXdHZvUVBvT3hQS1dWYlQxTkxuQmZta2dlLXVLekdGMFpRS1NscmVmSi1LakQ1aHl6dGJ1dm1KTVM4OEd6N3FISDFvZ1FOcllvTUY1cG05Vng1R0RXci1aRGRNV1hVRGdieGtMOWEwRFRYcWxCTWtFaHRRRFMxamlHcko4SXdibVZFV0lnM1ln/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=KkisssJi1bwbSyQ0AU75VHoXxy0%3D&Expires=1758876406 with parts ['ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EQTJMQ0pwWVhRaU9qRTNOVGc0TnpVNE1EWXNJbVY0Y0NJNk1UYzFPRGczTmpRd05pd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5bVpTOW1aVEEzTmpnMFlqRTJZamd5TWpRM1l6TTFNemxsWkRnMllUWTFabVl6TjJFM05qRXpPR1ZqTWpWa016Z3dZbVE0TUdNNE5qbGhNV0UwWXpjek1qTTJQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFMYTJsemMzTkthVEZpZDJKVGVWRXdRVlUzTlZaSWIxaDRlVEFsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRBMklpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuY2V3S3B1VmJwWHV4MUp3N2ZzQ3FhWnY3YVlGVl9DVG02S3F4RGdreWgwcTc1SWJGeUM1X2dsSktiMEtrZGozVno5TmwtdTBMbW95OXFLa1NXWUhQY0RIUFU5eE14SktXenRQejN3ckZxVlYwOW9LSVQ1X0lXcHpVWktkclYwcUpaSTNLSjZOODFUWXFQYXd3WjEwRVBYaW1QNTd6Ri1BZ3RJSG9fV20zQ05nbTZpV0FQSnpmYkJwcmRLQ0JxbFBNUWxHVGVUZy1CNXRLb2dXdHZvUVBvT3hQS1dWYlQxTkxuQmZta2dlLXVLekdGMFpRS1NscmVmSi1LakQ1aHl6dGJ1dm1KTVM4OEd6N3FISDFvZ1FOcllvTUY1cG05Vng1R0RXci1aRGRNV1hVRGdieGtMOWEwRFRYcWxCTWtFaHRRRFMxamlHcko4SXdibVZFV0lnM1ln', 'https', 's3.openshift-storage.svc.cluster.local:443', 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=KkisssJi1bwbSyQ0AU75VHoXxy0%3D&Expires=1758876406'] gunicorn-web stdout | 2025-09-26 08:36:46,607 [242] [DEBUG] [app] Ending request: urn:request:c15f02f2-8309-4a82-b670-606877386292 (/_storage_proxy_auth) {'endpoint': '_storage_proxy_auth', 'request_id': 'urn:request:c15f02f2-8309-4a82-b670-606877386292', 'remote_addr': '3.131.182.156', 'http_method': 'GET', 'original_url': 'https://web_app_server/_storage_proxy_auth', 'path': '/_storage_proxy_auth', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Go-http-client/1.1'} gunicorn-web stdout | 2025-09-26 08:36:46,607 [242] [INFO] [gunicorn.access] 3.131.182.156 - - [26/Sep/2025:08:36:46 +0000] "GET /_storage_proxy_auth HTTP/1.0" 200 2 "-" "Go-http-client/1.1" gunicorn-registry stdout | 2025-09-26 08:36:46,660 [257] [DEBUG] [app] Starting request: urn:request:1ce75c76-98c6-42a0-b2bc-1af715f146c8 (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:46,660 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:46,660 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:46,660 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:46,662 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:46,662 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:46,662 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:46,662 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:46,662 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:46,663 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:46,668 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:46,672 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:46,675 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:46,679 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:46,683 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:46,686 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:46,690 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:46,694 [257] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, '151ce5ed-eb40-4645-a8ce-57a6a9e5e094', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 46, 693741)]) gunicorn-registry stdout | 2025-09-26 08:36:46,699 [257] [DEBUG] [app] Ending request: urn:request:1ce75c76-98c6-42a0-b2bc-1af715f146c8 (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:1ce75c76-98c6-42a0-b2bc-1af715f146c8', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:46,699 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:46,699 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:46,699 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:46 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:46 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.040 1693 0.040) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:46 +0000] "GET /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EQTJMQ0pwWVhRaU9qRTNOVGc0TnpVNE1EWXNJbVY0Y0NJNk1UYzFPRGczTmpRd05pd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5bVpTOW1aVEEzTmpnMFlqRTJZamd5TWpRM1l6TTFNemxsWkRnMllUWTFabVl6TjJFM05qRXpPR1ZqTWpWa016Z3dZbVE0TUdNNE5qbGhNV0UwWXpjek1qTTJQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFMYTJsemMzTkthVEZpZDJKVGVWRXdRVlUzTlZaSWIxaDRlVEFsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRBMklpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuY2V3S3B1VmJwWHV4MUp3N2ZzQ3FhWnY3YVlGVl9DVG02S3F4RGdreWgwcTc1SWJGeUM1X2dsSktiMEtrZGozVno5TmwtdTBMbW95OXFLa1NXWUhQY0RIUFU5eE14SktXenRQejN3ckZxVlYwOW9LSVQ1X0lXcHpVWktkclYwcUpaSTNLSjZOODFUWXFQYXd3WjEwRVBYaW1QNTd6Ri1BZ3RJSG9fV20zQ05nbTZpV0FQSnpmYkJwcmRLQ0JxbFBNUWxHVGVUZy1CNXRLb2dXdHZvUVBvT3hQS1dWYlQxTkxuQmZta2dlLXVLekdGMFpRS1NscmVmSi1LakQ1aHl6dGJ1dm1KTVM4OEd6N3FISDFvZ1FOcllvTUY1cG05Vng1R0RXci1aRGRNV1hVRGdieGtMOWEwRFRYcWxCTWtFaHRRRFMxamlHcko4SXdibVZFV0lnM1ln/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fe/fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=KkisssJi1bwbSyQ0AU75VHoXxy0%3D&Expires=1758876406 HTTP/1.1" 200 3790046 "-" "Go-http-client/1.1" (0.363 2405 0.361) securityworker stdout | 2025-09-26 08:36:47,273 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} gunicorn-web stdout | 2025-09-26 08:36:47,639 [242] [DEBUG] [app] Starting request: urn:request:b16e9025-0fb7-4668-936e-807f3d3d3bc2 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:36:47,640 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:36:47,643 [250] [DEBUG] [app] Starting request: urn:request:b8223c25-fac1-4c82-b41c-d471be130b8f (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:36:47,644 [250] [DEBUG] [app] Ending request: urn:request:b8223c25-fac1-4c82-b41c-d471be130b8f (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:b8223c25-fac1-4c82-b41c-d471be130b8f', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:36:47,644 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:36:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:36:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:36:47,644 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:36:47,645 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:36:47,647 [242] [DEBUG] [app] Starting request: urn:request:24548875-21ac-4aaf-8977-6ba78353fdc4 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:36:47,649 [242] [DEBUG] [app] Ending request: urn:request:24548875-21ac-4aaf-8977-6ba78353fdc4 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:24548875-21ac-4aaf-8977-6ba78353fdc4', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:36:47,650 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:36:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:36:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.004 159 0.004) gunicorn-web stdout | 2025-09-26 08:36:47,650 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:36:47,650 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:36:47,651 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:36:47,651 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:36:47,659 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:36:47,659 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:36:47,668 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:36:47,672 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-registry stdout | 2025-09-26 08:36:47,674 [250] [DEBUG] [app] Starting request: urn:request:75732e36-57b7-4cea-9e24-509aeb9eca4f (/v2/testorg/alpine/blobs/sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:47,674 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:47,674 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:47,674 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-web stdout | 2025-09-26 08:36:47,675 [242] [DEBUG] [app] Ending request: urn:request:b16e9025-0fb7-4668-936e-807f3d3d3bc2 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:b16e9025-0fb7-4668-936e-807f3d3d3bc2', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:36:47,675 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:47,675 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:47,675 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:47,675 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:47,676 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:47,676 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-web stdout | 2025-09-26 08:36:47,675 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:36:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:36:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.037 118 0.037) gunicorn-registry stdout | 2025-09-26 08:36:47,677 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:47,680 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:47,684 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:47,684 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a_2 gunicorn-registry stdout | 2025-09-26 08:36:47,685 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:47,685 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:47,690 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:47,693 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:47,697 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:47,700 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:47,704 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a_2: None gunicorn-registry stdout | 2025-09-26 08:36:47,704 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a_2: None gunicorn-registry stdout | 2025-09-26 08:36:47,704 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:47,704 [250] [DEBUG] [app] Ending request: urn:request:75732e36-57b7-4cea-9e24-509aeb9eca4f (/v2/testorg/alpine/blobs/sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:75732e36-57b7-4cea-9e24-509aeb9eca4f', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'path': '/v2/testorg/alpine/blobs/sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:47,705 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:47,705 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:47,705 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:47 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:47 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.032 1714 0.032) gunicorn-web stdout | 2025-09-26 08:36:47,727 [242] [DEBUG] [app] Starting request: urn:request:463d110b-e7d7-4ec3-a74f-36c1ec33d6fa (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:36:47,729 [250] [DEBUG] [app] Starting request: urn:request:dd747e35-bdfc-4c94-9b13-67b29264d931 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:36:47,729 [250] [DEBUG] [app] Ending request: urn:request:dd747e35-bdfc-4c94-9b13-67b29264d931 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:dd747e35-bdfc-4c94-9b13-67b29264d931', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:36:47,730 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:36:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:36:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:36:47,730 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:36:47,731 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:36:47,733 [242] [DEBUG] [app] Starting request: urn:request:9f74a28e-315d-4e8c-9635-ef582c57e6f5 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:36:47,733 [242] [DEBUG] [app] Ending request: urn:request:9f74a28e-315d-4e8c-9635-ef582c57e6f5 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:9f74a28e-315d-4e8c-9635-ef582c57e6f5', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:36:47,734 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:36:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:36:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:36:47,734 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:36:47,734 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:36:47,734 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:36:47,734 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:36:47,741 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:36:47,741 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:36:47,752 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:36:47,756 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:36:47,760 [242] [DEBUG] [app] Ending request: urn:request:463d110b-e7d7-4ec3-a74f-36c1ec33d6fa (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:463d110b-e7d7-4ec3-a74f-36c1ec33d6fa', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:36:47,760 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:36:47,760 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:36:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:36:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.034 118 0.034) gunicorn-registry stdout | 2025-09-26 08:36:47,968 [257] [DEBUG] [app] Starting request: urn:request:2687defd-c1e7-4e6f-9f74-841b01a2fdd9 (/v2/testorg/alpine/blobs/uploads/e883a005-5c78-41c8-ab03-3447083d3f42) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:47,969 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'e883a005-5c78-41c8-ab03-3447083d3f42', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:47,969 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:47,969 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:47,970 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:47,970 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:47,970 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:47,970 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:47,971 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:47,972 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:47,976 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:47,979 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:47,983 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:47,987 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:47,990 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:47,994 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:47,997 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:48,001 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['e883a005-5c78-41c8-ab03-3447083d3f42', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,005 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:48,005 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:48,005 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:48,006 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:48,007 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e46d4f71-d5d7-4c29-8485-a5db93b65cc0', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:48,007 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,007 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,007 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,007 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,007 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,007 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,007 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,007 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,007 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:48,007 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:48,007 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:48,007 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:48,008 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,008 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,008 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,008 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/e46d4f71-d5d7-4c29-8485-a5db93b65cc0?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e46d4f71-d5d7-4c29-8485-a5db93b65cc0', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e46d4f71-d5d7-4c29-8485-a5db93b65cc0?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e46d4f71-d5d7-4c29-8485-a5db93b65cc0', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:48,008 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,008 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,008 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,008 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,009 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:48,009 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e46d4f71-d5d7-4c29-8485-a5db93b65cc0 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083648Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:48,009 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083648Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | c00c8735ab0ce7eab33efd838c2780a090c7f0bed22dc76f1a77a5a7f0244bb2 gunicorn-registry stdout | 2025-09-26 08:36:48,009 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 0066db376ce06ca7c6d5d5a7ef87d428c9c64a17896825e6f51905df51051d1b gunicorn-registry stdout | 2025-09-26 08:36:48,009 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,009 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:48,010 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:48,016 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e46d4f71-d5d7-4c29-8485-a5db93b65cc0?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:48,016 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8r9o-2yrss9-1cjf', 'x-amz-id-2': 'mg0l8r9o-2yrss9-1cjf', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:48 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:48,016 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/e46d4f71-d5d7-4c29-8485-a5db93b65cc068d650a0d73ec60008f933d7' gunicorn-registry stdout | 2025-09-26 08:36:48,017 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,017 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:48,017 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,017 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8r9o-2yrss9-1cjf', 'HostId': 'mg0l8r9o-2yrss9-1cjf', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8r9o-2yrss9-1cjf', 'x-amz-id-2': 'mg0l8r9o-2yrss9-1cjf', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:48 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e46d4f71-d5d7-4c29-8485-a5db93b65cc0', 'UploadId': '68d650a0d73ec60008f933d7'} gunicorn-registry stdout | 2025-09-26 08:36:48,017 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:48,018 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e46d4f71-d5d7-4c29-8485-a5db93b65cc0', 'UploadId': '68d650a0d73ec60008f933d7'} gunicorn-registry stdout | 2025-09-26 08:36:48,018 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,018 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,018 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,018 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,018 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,018 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,018 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:48,018 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:48,018 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:48,018 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:48,018 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,019 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,019 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,019 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/e46d4f71-d5d7-4c29-8485-a5db93b65cc0', 'query_string': {'uploadId': '68d650a0d73ec60008f933d7'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e46d4f71-d5d7-4c29-8485-a5db93b65cc0', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e46d4f71-d5d7-4c29-8485-a5db93b65cc0?uploadId=68d650a0d73ec60008f933d7', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e46d4f71-d5d7-4c29-8485-a5db93b65cc0', 'UploadId': '68d650a0d73ec60008f933d7'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:48,019 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,019 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,019 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,019 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,019 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:48,019 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e46d4f71-d5d7-4c29-8485-a5db93b65cc0 gunicorn-registry stdout | uploadId=68d650a0d73ec60008f933d7 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083648Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:48,019 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083648Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 8278b273d89c2743e5e78501c12279484a45be09d6de8da3e4779b15e4bbbe30 gunicorn-registry stdout | 2025-09-26 08:36:48,019 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 254124cd6f987ed9e504cb2f2d80ae3214da0b5d60c6592aa4469fbed4e48975 gunicorn-registry stdout | 2025-09-26 08:36:48,019 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,019 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:48,019 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:48,026 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e46d4f71-d5d7-4c29-8485-a5db93b65cc0?uploadId=68d650a0d73ec60008f933d7 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:48,026 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8r9x-340lpt-uza', 'x-amz-id-2': 'mg0l8r9x-340lpt-uza', 'Date': 'Fri, 26 Sep 2025 08:36:48 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:48,026 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:48,027 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,027 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:48,027 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,027 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8r9x-340lpt-uza', 'HostId': 'mg0l8r9x-340lpt-uza', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8r9x-340lpt-uza', 'x-amz-id-2': 'mg0l8r9x-340lpt-uza', 'date': 'Fri, 26 Sep 2025 08:36:48 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:48,027 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob e883a005-5c78-41c8-ab03-3447083d3f42 took 0.021890640258789062 seconds gunicorn-registry stdout | 2025-09-26 08:36:48,028 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['e883a005-5c78-41c8-ab03-3447083d3f42', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,031 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, 'e883a005-5c78-41c8-ab03-3447083d3f42', 597, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwZjEiXX0sInZhcmlhbnQiOiJ2OCJ9OThlZDkxNmQxZmE4MzAxYjM2YTQ0ZGQxNGZjNDBlYmE1YTA1OTA1ZGE2ORUAAAAAAAAAABIAAAAAAAA4SjfaczJd+qA3RUkfZWESSsY3UnnTTxb9wlrnU3/mY5RiLg==', 9, '{"chunks": [["uploads/8fd2b00e-8297-447b-8b47-28f6d03ef8a6", 0, 597]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 36, 47, 755931), None, None, 23]) gunicorn-registry stdout | 2025-09-26 08:36:48,036 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:48,036 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:48,036 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:48,037 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:48,037 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a'} gunicorn-registry stdout | 2025-09-26 08:36:48,037 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,037 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,037 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,037 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,037 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,037 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,037 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,038 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:48,038 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:48,038 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:48,038 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:48,038 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,038 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,038 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,038 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:48,038 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,038 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,038 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,038 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,038 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:48,038 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083648Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:48,038 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083648Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 87c2592a97af549797d8419dc0b0f0746e67dd39f527812d947ec8306908edc1 gunicorn-registry stdout | 2025-09-26 08:36:48,038 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 45260471dc220d237d5e1eb0d4062624a13e72a5fe63d4bc74e373ea2720016d gunicorn-registry stdout | 2025-09-26 08:36:48,039 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,039 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:48,039 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:48,043 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:48,043 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8raf-3fbtim-fjw', 'x-amz-id-2': 'mg0l8raf-3fbtim-fjw', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:48 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:48,043 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:48,043 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,043 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:48,043 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,043 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:48,043 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:48,043 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a gunicorn-registry stdout | 2025-09-26 08:36:48,044 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:48,044 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:48,044 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:48,044 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:48,044 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,044 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,044 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,044 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,044 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,044 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,044 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,044 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:48,044 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:48,044 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:48,044 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:48,045 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,045 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,045 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,045 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/8fd2b00e-8297-447b-8b47-28f6d03ef8a6', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8fd2b00e-8297-447b-8b47-28f6d03ef8a6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8fd2b00e-8297-447b-8b47-28f6d03ef8a6', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8fd2b00e-8297-447b-8b47-28f6d03ef8a6'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:48,045 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,045 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,045 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,045 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,045 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,045 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:48,045 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8fd2b00e-8297-447b-8b47-28f6d03ef8a6 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083648Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:48,045 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083648Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4d0ba5c22bfe1bdcd9113a1f23ee22c9c89ac3c52ec9e1692c01de6e48812144 gunicorn-registry stdout | 2025-09-26 08:36:48,045 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 900518340ac644cc0ee326d9c619134e782f70e38d4f3ec1d64f0c07a2f5e3be gunicorn-registry stdout | 2025-09-26 08:36:48,045 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,045 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,045 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:48,046 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:48,049 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8fd2b00e-8297-447b-8b47-28f6d03ef8a6 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:48,049 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ram-3jckne-ken', 'x-amz-id-2': 'mg0l8ram-3jckne-ken', 'ETag': '"aa8f171de98f25e9144e08ebfa6bca6d-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:47 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '597', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:48 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:48,049 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:48,050 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,050 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:48,050 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,050 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:48,050 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:48,050 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:48,050 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:48,050 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8fd2b00e-8297-447b-8b47-28f6d03ef8a6'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'extra_args': {}, 'callbacks': [], 'size': 597} gunicorn-registry stdout | 2025-09-26 08:36:48,050 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,050 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,050 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,050 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,051 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,051 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,051 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,051 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,051 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,051 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,051 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:48,051 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:48,051 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:48,051 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:48,051 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,051 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,051 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,051 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8fd2b00e-8297-447b-8b47-28f6d03ef8a6', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8fd2b00e-8297-447b-8b47-28f6d03ef8a6', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:48,051 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,051 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,051 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,051 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,051 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,052 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:48,052 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8fd2b00e-8297-447b-8b47-28f6d03ef8a6 gunicorn-registry stdout | x-amz-date:20250926T083648Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:48,052 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083648Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | c4fdf177977dbd7e4fd92e33001f13886aa3891bb361eb2aa17de956f95d15c8 gunicorn-registry stdout | 2025-09-26 08:36:48,052 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 3ea5c7c8fba16731d2b02beca237ad412a6cd55846da6131c87ad276202a5185 gunicorn-registry stdout | 2025-09-26 08:36:48,052 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,052 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,052 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:48,052 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:48,052 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:48,077 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:36:48,077 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8rat-3n9by6-1b2i', 'x-amz-id-2': 'mg0l8rat-3n9by6-1b2i', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:36:48 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:48,077 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:48.000Z"aa8f171de98f25e9144e08ebfa6bca6d-1"' gunicorn-registry stdout | 2025-09-26 08:36:48,078 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,078 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,078 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:48,078 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,078 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:48,078 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob e883a005-5c78-41c8-ab03-3447083d3f42 with digest sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a took 0.0350949764251709 seconds gunicorn-registry stdout | 2025-09-26 08:36:48,079 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['e883a005-5c78-41c8-ab03-3447083d3f42', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,082 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,084 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['b127f3b2-f235-4bed-9538-a7fb3de0c3a9', 597, None, True, True, 'sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a']) gunicorn-registry stdout | 2025-09-26 08:36:48,085 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [24, 9]) gunicorn-registry stdout | 2025-09-26 08:36:48,087 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,088 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 24, datetime.datetime(2025, 9, 26, 8, 36, 48, 88711), datetime.datetime(2025, 9, 26, 9, 36, 48, 88695)]) gunicorn-registry stdout | 2025-09-26 08:36:48,090 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [23]) gunicorn-registry stdout | 2025-09-26 08:36:48,094 [257] [DEBUG] [app] Ending request: urn:request:2687defd-c1e7-4e6f-9f74-841b01a2fdd9 (/v2/testorg/alpine/blobs/uploads/e883a005-5c78-41c8-ab03-3447083d3f42) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:2687defd-c1e7-4e6f-9f74-841b01a2fdd9', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/e883a005-5c78-41c8-ab03-3447083d3f42?digest=sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'path': '/v2/testorg/alpine/blobs/uploads/e883a005-5c78-41c8-ab03-3447083d3f42', 'parameters': {'digest': 'sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:48,094 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:48,094 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:48,094 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:48 +0000] "PUT /v2/testorg/alpine/blobs/uploads/e883a005-5c78-41c8-ab03-3447083d3f42?digest=sha256%3A2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:48 +0000] "PUT /v2/testorg/alpine/blobs/uploads/e883a005-5c78-41c8-ab03-3447083d3f42?digest=sha256%3A2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.126 1849 0.126) gunicorn-registry stdout | 2025-09-26 08:36:48,147 [250] [DEBUG] [app] Starting request: urn:request:a6118183-5ba7-415b-b05c-135c69d02a33 (/v2/testorg/alpine/manifests/sha256:008448246686fe28544e36ba89e7bc7fbe6dad8a2ccdef576875c74298c46348) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:48,148 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:008448246686fe28544e36ba89e7bc7fbe6dad8a2ccdef576875c74298c46348', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:48,148 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:48,148 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:48,149 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:48,149 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:48,149 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:48,149 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:48,150 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:48,151 [250] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:36:48,151 [250] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:36:48,152 [250] [DEBUG] [data.cache.impl] Found result in cache for key repository_lookup_testorg_alpine: {'id': 2, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': 0, 'namespace_user': {'stripe_id': None}} gunicorn-registry stdout | 2025-09-26 08:36:48,153 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:008448246686fe28544e36ba89e7bc7fbe6dad8a2ccdef576875c74298c46348', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,158 [250] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [2, 'sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 1, 2, 'sha256:d69d4d41cfe2ee680d6972795e2a1eb9e4dc4ec3b3c5e0797c9ab43bb3726fa7', 1]) gunicorn-registry stdout | 2025-09-26 08:36:48,163 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:008448246686fe28544e36ba89e7bc7fbe6dad8a2ccdef576875c74298c46348', 2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,166 [250] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [2, 'sha256:008448246686fe28544e36ba89e7bc7fbe6dad8a2ccdef576875c74298c46348', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a",\n "size": 597\n },\n "layers": [\n {\n "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",\n "digest": "sha256:d69d4d41cfe2ee680d6972795e2a1eb9e4dc4ec3b3c5e0797c9ab43bb3726fa7",\n "size": 4135941\n }\n ],\n "annotations": {\n "com.docker.official-images.bashbrew.arch": "arm64v8",\n "org.opencontainers.image.base.name": "scratch",\n "org.opencontainers.image.created": "2025-05-30T16:20:41Z",\n "org.opencontainers.image.revision": "5213c5a71c73d39d5896657909e753effb1c05ff",\n "org.opencontainers.image.source": "https://github.com/alpinelinux/docker-alpine.git#5213c5a71c73d39d5896657909e753effb1c05ff:aarch64",\n "org.opencontainers.image.url": "https://hub.docker.com/_/alpine",\n "org.opencontainers.image.version": "3.22.0"\n }\n}', 'application/vnd.oci.image.config.v1+json', 4135941, None, True, None, True]) gunicorn-registry stdout | 2025-09-26 08:36:48,169 [250] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [2, 8, 24, 2, 8, 23]) gunicorn-registry stdout | 2025-09-26 08:36:48,171 [250] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,173 [250] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [3, 1]) gunicorn-registry stdout | 2025-09-26 08:36:48,174 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 24, 8, 1]) gunicorn-registry stdout | 2025-09-26 08:36:48,176 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 23, 8, 1]) gunicorn-registry stdout | 2025-09-26 08:36:48,177 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,178 [250] [INFO] [data.model.quota] updating namespace size for manifest 8 in namespace 3, QuotaOperation.ADD 4136538 gunicorn-registry stdout | 2025-09-26 08:36:48,179 [250] [DEBUG] [peewee] ('UPDATE "quotanamespacesize" SET "size_bytes" = ("quotanamespacesize"."size_bytes" + %s) WHERE ("quotanamespacesize"."namespace_user_id" = %s)', [4136538, 3]) gunicorn-registry stdout | 2025-09-26 08:36:48,180 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,181 [250] [INFO] [data.model.quota] updating repository size for manifest 8 in repository 2, QuotaOperation.ADD 4136538 gunicorn-registry stdout | 2025-09-26 08:36:48,182 [250] [DEBUG] [peewee] ('UPDATE "quotarepositorysize" SET "size_bytes" = ("quotarepositorysize"."size_bytes" + %s) WHERE ("quotarepositorysize"."repository_id" = %s)', [4136538, 2]) gunicorn-registry stdout | 2025-09-26 08:36:48,184 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [8, None, 1758879408183, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,186 [250] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-3922a8b5-590d-4c6e-944d-972e4333b9c0', 2, 8, 1758875808183, 1758879408183, False, True, False, 1]) gunicorn-registry stdout | 2025-09-26 08:36:48,191 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,194 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['b127f3b2-f235-4bed-9538-a7fb3de0c3a9']) gunicorn-registry stdout | 2025-09-26 08:36:48,198 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:48,199 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:48,199 [250] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a'} gunicorn-registry stdout | 2025-09-26 08:36:48,199 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,199 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,199 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,200 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,200 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,200 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,200 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,200 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:48,200 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:48,200 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:48,200 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:48,200 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,200 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,201 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,201 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:48,201 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,201 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,201 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,201 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,202 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:48,202 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083648Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:48,202 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083648Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | fad0a7a472274e0fb5ff42d750c217d083eadb8f35a3ba4361e80b37992d3158 gunicorn-registry stdout | 2025-09-26 08:36:48,202 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6cf7086bc3429224b19fbdb56e24ccf6754e0c0b3ab23346c6f97007dd539aa8 gunicorn-registry stdout | 2025-09-26 08:36:48,202 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,202 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:48,203 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:48,245 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a HTTP/1.1" 200 597 gunicorn-registry stdout | 2025-09-26 08:36:48,245 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8rf0-652478-12b7', 'x-amz-id-2': 'mg0l8rf0-652478-12b7', 'ETag': '"aa8f171de98f25e9144e08ebfa6bca6d-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:48 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '597', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:48 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:48,245 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:36:48,246 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:48,246 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:48,246 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:48,246 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8rf0-652478-12b7', 'HostId': 'mg0l8rf0-652478-12b7', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8rf0-652478-12b7', 'x-amz-id-2': 'mg0l8rf0-652478-12b7', 'etag': '"aa8f171de98f25e9144e08ebfa6bca6d-1"', 'last-modified': 'Fri, 26 Sep 2025 08:36:48 GMT', 'content-type': 'application/octet-stream', 'content-length': '597', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:36:48 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 36, 48, tzinfo=tzutc()), 'ContentLength': 597, 'ETag': '"aa8f171de98f25e9144e08ebfa6bca6d-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:36:48,249 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "mediatype" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:48,254 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."mutable" FROM "labelsourcetype" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:48,257 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [8, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,262 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['45ac57d3-b696-457c-bb8d-67d02e196e60', 'com.docker.official-images.bashbrew.arch', 'arm64v8', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:48,266 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 8, 22]) gunicorn-registry stdout | 2025-09-26 08:36:48,271 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [8, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,274 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['0c8654c7-50d7-4218-b0d0-8e710c96cf8e', 'org.opencontainers.image.base.name', 'scratch', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:48,277 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 8, 23]) gunicorn-registry stdout | 2025-09-26 08:36:48,281 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [8, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,286 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['32539a96-bedd-47de-822e-0d28a261383b', 'org.opencontainers.image.created', '2025-05-30T16:20:41Z', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:48,289 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 8, 24]) gunicorn-registry stdout | 2025-09-26 08:36:48,293 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [8, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,296 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['a25f59a9-429a-4a56-a507-3ac65baf68f7', 'org.opencontainers.image.revision', '5213c5a71c73d39d5896657909e753effb1c05ff', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:48,299 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 8, 25]) gunicorn-registry stdout | 2025-09-26 08:36:48,302 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [8, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,306 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['dec34a9a-0f7c-48ea-80c1-437d8c54891e', 'org.opencontainers.image.source', 'https://github.com/alpinelinux/docker-alpine.git#5213c5a71c73d39d5896657909e753effb1c05ff:aarch64', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:48,308 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 8, 26]) gunicorn-registry stdout | 2025-09-26 08:36:48,312 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [8, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,316 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['dadab8b8-041b-4040-8000-817f6e377157', 'org.opencontainers.image.url', 'https://hub.docker.com/_/alpine', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:48,318 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 8, 27]) gunicorn-registry stdout | 2025-09-26 08:36:48,322 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [8, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,325 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['eba5cc06-7df7-4ccd-8ea5-ceec20439154', 'org.opencontainers.image.version', '3.22.0', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:48,328 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 8, 28]) gunicorn-registry stdout | 2025-09-26 08:36:48,331 [250] [DEBUG] [app] Ending request: urn:request:a6118183-5ba7-415b-b05c-135c69d02a33 (/v2/testorg/alpine/manifests/sha256:008448246686fe28544e36ba89e7bc7fbe6dad8a2ccdef576875c74298c46348) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:a6118183-5ba7-415b-b05c-135c69d02a33', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/manifests/sha256:008448246686fe28544e36ba89e7bc7fbe6dad8a2ccdef576875c74298c46348', 'path': '/v2/testorg/alpine/manifests/sha256:008448246686fe28544e36ba89e7bc7fbe6dad8a2ccdef576875c74298c46348', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'size': 597}, 'layers': [{'mediaType': 'application/vnd.oci.image.layer.v1.tar+gzip', 'digest': 'sha256:d69d4d41cfe2ee680d6972795e2a1eb9e4dc4ec3b3c5e0797c9ab43bb3726fa7', 'size': 4135941}], 'annotations': {'com.docker.official-images.bashbrew.arch': 'arm64v8', 'org.opencontainers.image.base.name': 'scratch', 'org.opencontainers.image.created': '2025-05-30T16:20:41Z', 'org.opencontainers.image.revision': '5213c5a71c73d39d5896657909e753effb1c05ff', 'org.opencontainers.image.source': 'https://github.com/alpinelinux/docker-alpine.git#5213c5a71c73d39d5896657909e753effb1c05ff:aarch64', 'org.opencontainers.image.url': 'https://hub.docker.com/_/alpine', 'org.opencontainers.image.version': '3.22.0'}}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:48,331 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:48,332 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:48,332 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:48 +0000] "PUT /v2/testorg/alpine/manifests/sha256:008448246686fe28544e36ba89e7bc7fbe6dad8a2ccdef576875c74298c46348 HTTP/1.1" 201 2 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:48 +0000] "PUT /v2/testorg/alpine/manifests/sha256:008448246686fe28544e36ba89e7bc7fbe6dad8a2ccdef576875c74298c46348 HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.185 2845 0.185) gunicorn-web stdout | 2025-09-26 08:36:48,627 [241] [DEBUG] [app] Starting request: urn:request:78972108-cf8c-47e8-ac8f-fa68d0f1af87 (/_storage_proxy_auth) {'X-Forwarded-For': '3.131.182.156'} gunicorn-web stdout | 2025-09-26 08:36:48,627 [241] [DEBUG] [storage.downloadproxy] Got token b'eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODA4LCJpYXQiOjE3NTg4NzU4MDgsImV4cCI6MTc1ODg3NjQwOCwic3ViIjoic3RvcmFnZXByb3h5IiwiYWNjZXNzIjpbeyJ0eXBlIjoic3RvcmFnZXByb3h5IiwidXJpIjoicXVheS1kYXRhc3RvcmUtZTI5YzM5OTQtNjJlYi00ZTlmLTk1NTAtYmFhMTFmODc0MDg0L2RhdGFzdG9yYWdlL3JlZ2lzdHJ5L3NoYTI1Ni81ZC81ZGRmYjRhNzFiMTllNmRjZDUyYjljNDYxOTNiNjI0OWNmOWIzOTMwMGYwZjY2NGYwZDY4MjQ2M2E0ZDQ4ZTZjP0FXU0FjY2Vzc0tleUlkPUtxVUFodjYwQUdsQUREcTBNY0taJlNpZ25hdHVyZT0yJTJCSUc1Y2drMVNjRXN6Mk9RTFFKZW9OQW9RUSUzRCZFeHBpcmVzPTE3NTg4NzY0MDgiLCJob3N0IjoiczMub3BlbnNoaWZ0LXN0b3JhZ2Uuc3ZjLmNsdXN0ZXIubG9jYWw6NDQzIiwic2NoZW1lIjoiaHR0cHMifV0sImNvbnRleHQiOnt9fQ.WYdxW3W_TNnDqyMx_JZe_F8YhPlIRW5zJcoV8LWnVzPKttaagwE5FsP9EjjdPRPB_jFKWFua-JZvyHtXB6hF4ozK5tOe_hFTc_R41l7k9i1AVZ2c0fLo4QwSkl_OXWuz2-z1095o87wG3PRwj8vMpL35fn0v3lYkk04sDKRLxSRWW7lWkyO66_fJI80KKl7c-TaLfxczp-T6waQqQWkFVEE1CDl7iV3leBfqf7OGR6xNTVK7qtOInCmEPFTlmdIiDnikPddpECKTwd8r9sS0FWAciC6dOymEJhuq1fvGz78-z73lQknXrmxTFniiIJL_BzfXtzLjpe8u7_HRJtFCxA' for storage proxy auth request /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EQTRMQ0pwWVhRaU9qRTNOVGc0TnpVNE1EZ3NJbVY0Y0NJNk1UYzFPRGczTmpRd09Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4MVpDODFaR1JtWWpSaE56RmlNVGxsTm1SalpEVXlZamxqTkRZeE9UTmlOakkwT1dObU9XSXpPVE13TUdZd1pqWTJOR1l3WkRZNE1qUTJNMkUwWkRRNFpUWmpQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDB5SlRKQ1NVYzFZMmRyTVZOalJYTjZNazlSVEZGS1pXOU9RVzlSVVNVelJDWkZlSEJwY21WelBURTNOVGc0TnpZME1EZ2lMQ0pvYjNOMElqb2ljek11YjNCbGJuTm9hV1owTFhOMGIzSmhaMlV1YzNaakxtTnNkWE4wWlhJdWJHOWpZV3c2TkRReklpd2ljMk5vWlcxbElqb2lhSFIwY0hNaWZWMHNJbU52Ym5SbGVIUWlPbnQ5ZlEuV1lkeFczV19UTm5EcXlNeF9KWmVfRjhZaFBsSVJXNXpKY29WOExXblZ6UEt0dGFhZ3dFNUZzUDlFampkUFJQQl9qRktXRnVhLUpadnlIdFhCNmhGNG96SzV0T2VfaEZUY19SNDFsN2s5aTFBVloyYzBmTG80UXdTa2xfT1hXdXoyLXoxMDk1bzg3d0czUFJ3ajh2TXBMMzVmbjB2M2xZa2swNHNES1JMeFNSV1c3bFdreU82Nl9mSkk4MEtLbDdjLVRhTGZ4Y3pwLVQ2d2FRcVFXa0ZWRUUxQ0RsN2lWM2xlQmZxZjdPR1I2eE5UVks3cXRPSW5DbUVQRlRsbWRJaURuaWtQZGRwRUNLVHdkOHI5c1MwRldBY2lDNmRPeW1FSmh1cTFmdkd6NzgtejczbFFrblhybXhURm5paUlKTF9CemZYdHpManBlOHU3X0hSSnRGQ3hB/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5d/5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=2%2BIG5cgk1ScEsz2OQLQJeoNAoQQ%3D&Expires=1758876408 with parts ['ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EQTRMQ0pwWVhRaU9qRTNOVGc0TnpVNE1EZ3NJbVY0Y0NJNk1UYzFPRGczTmpRd09Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4MVpDODFaR1JtWWpSaE56RmlNVGxsTm1SalpEVXlZamxqTkRZeE9UTmlOakkwT1dObU9XSXpPVE13TUdZd1pqWTJOR1l3WkRZNE1qUTJNMkUwWkRRNFpUWmpQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDB5SlRKQ1NVYzFZMmRyTVZOalJYTjZNazlSVEZGS1pXOU9RVzlSVVNVelJDWkZlSEJwY21WelBURTNOVGc0TnpZME1EZ2lMQ0pvYjNOMElqb2ljek11YjNCbGJuTm9hV1owTFhOMGIzSmhaMlV1YzNaakxtTnNkWE4wWlhJdWJHOWpZV3c2TkRReklpd2ljMk5vWlcxbElqb2lhSFIwY0hNaWZWMHNJbU52Ym5SbGVIUWlPbnQ5ZlEuV1lkeFczV19UTm5EcXlNeF9KWmVfRjhZaFBsSVJXNXpKY29WOExXblZ6UEt0dGFhZ3dFNUZzUDlFampkUFJQQl9qRktXRnVhLUpadnlIdFhCNmhGNG96SzV0T2VfaEZUY19SNDFsN2s5aTFBVloyYzBmTG80UXdTa2xfT1hXdXoyLXoxMDk1bzg3d0czUFJ3ajh2TXBMMzVmbjB2M2xZa2swNHNES1JMeFNSV1c3bFdreU82Nl9mSkk4MEtLbDdjLVRhTGZ4Y3pwLVQ2d2FRcVFXa0ZWRUUxQ0RsN2lWM2xlQmZxZjdPR1I2eE5UVks3cXRPSW5DbUVQRlRsbWRJaURuaWtQZGRwRUNLVHdkOHI5c1MwRldBY2lDNmRPeW1FSmh1cTFmdkd6NzgtejczbFFrblhybXhURm5paUlKTF9CemZYdHpManBlOHU3X0hSSnRGQ3hB', 'https', 's3.openshift-storage.svc.cluster.local:443', 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5d/5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=2%2BIG5cgk1ScEsz2OQLQJeoNAoQQ%3D&Expires=1758876408'] gunicorn-web stdout | 2025-09-26 08:36:48,628 [241] [DEBUG] [app] Ending request: urn:request:78972108-cf8c-47e8-ac8f-fa68d0f1af87 (/_storage_proxy_auth) {'endpoint': '_storage_proxy_auth', 'request_id': 'urn:request:78972108-cf8c-47e8-ac8f-fa68d0f1af87', 'remote_addr': '3.131.182.156', 'http_method': 'GET', 'original_url': 'https://web_app_server/_storage_proxy_auth', 'path': '/_storage_proxy_auth', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Go-http-client/1.1'} gunicorn-web stdout | 2025-09-26 08:36:48,628 [241] [INFO] [gunicorn.access] 3.131.182.156 - - [26/Sep/2025:08:36:48 +0000] "GET /_storage_proxy_auth HTTP/1.0" 200 2 "-" "Go-http-client/1.1" gunicorn-registry stdout | 2025-09-26 08:36:48,631 [250] [DEBUG] [app] Starting request: urn:request:7e17425d-fa9b-4196-9450-9ae69b4d851c (/v2/testorg/alpine/blobs/sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:48,632 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:48,632 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:48,632 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:48,633 [255] [DEBUG] [app] Starting request: urn:request:31510b5e-413b-4295-abdc-17148a1dfc8f (/v2/testorg/alpine/blobs/sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:48,633 [255] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:48,633 [255] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:48,633 [255] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:48,633 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:48,633 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:48,633 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:48,634 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:48,634 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:48,634 [255] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:48,634 [255] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:48,634 [255] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:48,635 [255] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:48,635 [255] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:48,635 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,635 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,639 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,640 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,643 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:48,643 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483_2 gunicorn-registry stdout | 2025-09-26 08:36:48,643 [255] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:48,643 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:48,643 [255] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4_2 gunicorn-registry stdout | 2025-09-26 08:36:48,644 [255] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:48,645 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,645 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,650 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,650 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,653 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,653 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,657 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,657 [255] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,660 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,661 [255] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,664 [255] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4_2: None gunicorn-registry stdout | 2025-09-26 08:36:48,665 [255] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4_2: None gunicorn-registry stdout | 2025-09-26 08:36:48,665 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483_2: None gunicorn-registry stdout | 2025-09-26 08:36:48,665 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483_2: None gunicorn-registry stdout | 2025-09-26 08:36:48,665 [255] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:48,665 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:48,665 [255] [DEBUG] [app] Ending request: urn:request:31510b5e-413b-4295-abdc-17148a1dfc8f (/v2/testorg/alpine/blobs/sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:31510b5e-413b-4295-abdc-17148a1dfc8f', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4', 'path': '/v2/testorg/alpine/blobs/sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:48,665 [250] [DEBUG] [app] Ending request: urn:request:7e17425d-fa9b-4196-9450-9ae69b4d851c (/v2/testorg/alpine/blobs/sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:7e17425d-fa9b-4196-9450-9ae69b4d851c', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 'path': '/v2/testorg/alpine/blobs/sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:48,665 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:48,666 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:48,666 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:48,666 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:48 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.035 1714 0.035) gunicorn-registry stdout | 2025-09-26 08:36:48,666 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:48 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:36:48,666 [255] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:48 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:48 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.035 1714 0.035) gunicorn-registry stdout | 2025-09-26 08:36:48,839 [257] [DEBUG] [app] Starting request: urn:request:0e545981-bfb3-4c25-8b40-7e5f422cdb16 (/v2/testorg/alpine/blobs/sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:48,839 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:48,839 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:48,839 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:48,840 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:48,840 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:48,840 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:48,840 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:48,840 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:48,841 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,846 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,850 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:48,850 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4_2 gunicorn-registry stdout | 2025-09-26 08:36:48,850 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:48,851 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,855 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,859 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,863 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,866 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,867 [250] [DEBUG] [app] Starting request: urn:request:ae915054-97d5-4b6e-b069-171859f37b2b (/v2/testorg/alpine/blobs/sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:48,867 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:48,867 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:48,867 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:48,868 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:48,868 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:48,868 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:48,868 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:48,868 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:48,869 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,871 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4_2: None gunicorn-registry stdout | 2025-09-26 08:36:48,871 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4_2: None gunicorn-registry stdout | 2025-09-26 08:36:48,871 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:48,871 [257] [DEBUG] [app] Ending request: urn:request:0e545981-bfb3-4c25-8b40-7e5f422cdb16 (/v2/testorg/alpine/blobs/sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:0e545981-bfb3-4c25-8b40-7e5f422cdb16', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4', 'path': '/v2/testorg/alpine/blobs/sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:48,872 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:48,872 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:48,872 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:48 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:36:48,873 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,877 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:48,877 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483_2 gunicorn-registry stdout | 2025-09-26 08:36:48,877 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:48,878 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,882 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,885 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,889 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,892 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,896 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483_2: None gunicorn-registry stdout | 2025-09-26 08:36:48,896 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483_2: None gunicorn-registry stdout | 2025-09-26 08:36:48,896 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:48,896 [250] [DEBUG] [app] Ending request: urn:request:ae915054-97d5-4b6e-b069-171859f37b2b (/v2/testorg/alpine/blobs/sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:ae915054-97d5-4b6e-b069-171859f37b2b', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 'path': '/v2/testorg/alpine/blobs/sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:48,896 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:48,896 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:48,897 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:48 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:48 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.031 1714 0.031) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:48 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.056 1714 0.056) gunicorn-registry stdout | 2025-09-26 08:36:48,938 [257] [DEBUG] [app] Starting request: urn:request:6312633c-1da7-436c-962f-b61fd703d489 (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:48,938 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:48,938 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:48,938 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:48,939 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:48,939 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:48,939 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:48,939 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:48,940 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:48,941 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,945 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,948 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,952 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,956 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,960 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,963 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:48,967 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:48,971 [257] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, '8f9ed9fe-c885-428d-927b-8cd3d2ff30b8', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 48, 971062)]) gunicorn-registry stdout | 2025-09-26 08:36:48,975 [257] [DEBUG] [app] Ending request: urn:request:6312633c-1da7-436c-962f-b61fd703d489 (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:6312633c-1da7-436c-962f-b61fd703d489', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:48,976 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:48,976 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:48,976 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:48 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:48 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.039 1693 0.039) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:48 +0000] "GET /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EQTRMQ0pwWVhRaU9qRTNOVGc0TnpVNE1EZ3NJbVY0Y0NJNk1UYzFPRGczTmpRd09Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4MVpDODFaR1JtWWpSaE56RmlNVGxsTm1SalpEVXlZamxqTkRZeE9UTmlOakkwT1dObU9XSXpPVE13TUdZd1pqWTJOR1l3WkRZNE1qUTJNMkUwWkRRNFpUWmpQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDB5SlRKQ1NVYzFZMmRyTVZOalJYTjZNazlSVEZGS1pXOU9RVzlSVVNVelJDWkZlSEJwY21WelBURTNOVGc0TnpZME1EZ2lMQ0pvYjNOMElqb2ljek11YjNCbGJuTm9hV1owTFhOMGIzSmhaMlV1YzNaakxtTnNkWE4wWlhJdWJHOWpZV3c2TkRReklpd2ljMk5vWlcxbElqb2lhSFIwY0hNaWZWMHNJbU52Ym5SbGVIUWlPbnQ5ZlEuV1lkeFczV19UTm5EcXlNeF9KWmVfRjhZaFBsSVJXNXpKY29WOExXblZ6UEt0dGFhZ3dFNUZzUDlFampkUFJQQl9qRktXRnVhLUpadnlIdFhCNmhGNG96SzV0T2VfaEZUY19SNDFsN2s5aTFBVloyYzBmTG80UXdTa2xfT1hXdXoyLXoxMDk1bzg3d0czUFJ3ajh2TXBMMzVmbjB2M2xZa2swNHNES1JMeFNSV1c3bFdreU82Nl9mSkk4MEtLbDdjLVRhTGZ4Y3pwLVQ2d2FRcVFXa0ZWRUUxQ0RsN2lWM2xlQmZxZjdPR1I2eE5UVks3cXRPSW5DbUVQRlRsbWRJaURuaWtQZGRwRUNLVHdkOHI5c1MwRldBY2lDNmRPeW1FSmh1cTFmdkd6NzgtejczbFFrblhybXhURm5paUlKTF9CemZYdHpManBlOHU3X0hSSnRGQ3hB/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5d/5ddfb4a71b19e6dcd52b9c46193b6249cf9b39300f0f664f0d682463a4d48e6c?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=2%2BIG5cgk1ScEsz2OQLQJeoNAoQQ%3D&Expires=1758876408 HTTP/1.1" 200 3479408 "-" "Go-http-client/1.1" (0.349 2411 0.346) gunicorn-registry stdout | 2025-09-26 08:36:49,006 [257] [DEBUG] [app] Starting request: urn:request:b2ba2248-fd3e-4061-b772-36b6d0fc18b0 (/v2/testorg/alpine/blobs/uploads/a147e68a-b723-48e8-ada5-d6528b03f3df) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:49,006 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'a147e68a-b723-48e8-ada5-d6528b03f3df', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:49,006 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:49,006 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:49,007 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:49,007 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:49,007 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:49,007 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:49,007 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:49,008 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,012 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,016 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,019 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,024 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,027 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,030 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,034 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:49,038 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['a147e68a-b723-48e8-ada5-d6528b03f3df', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,041 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:49,041 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:49,041 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:49,043 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:49,043 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:49,043 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,043 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,043 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,043 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,043 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,043 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,044 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,044 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,044 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:49,044 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:49,044 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:49,044 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:49,044 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,044 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,044 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,044 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:49,044 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,045 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,045 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,045 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,045 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:49,045 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083649Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:49,045 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083649Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 75be02a0468a0e03e1b43563f02ec725361591dcc32b2a9afe3f8c3045b4e8df gunicorn-registry stdout | 2025-09-26 08:36:49,045 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | d1fe5d8ff657109593606692f58322aae24a76130875cad5977fe11eaed9ec44 gunicorn-registry stdout | 2025-09-26 08:36:49,045 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,045 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:49,046 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:49,051 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:49,051 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8s2f-3jkgbv-yvy', 'x-amz-id-2': 'mg0l8s2f-3jkgbv-yvy', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:49 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:49,051 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde0268d650a1d73ec60008f933db' gunicorn-registry stdout | 2025-09-26 08:36:49,052 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,052 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:49,052 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,052 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8s2f-3jkgbv-yvy', 'HostId': 'mg0l8s2f-3jkgbv-yvy', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8s2f-3jkgbv-yvy', 'x-amz-id-2': 'mg0l8s2f-3jkgbv-yvy', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:49 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02', 'UploadId': '68d650a1d73ec60008f933db'} gunicorn-registry stdout | 2025-09-26 08:36:49,052 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:49,080 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:49,080 [257] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:49,080 [257] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02', 'UploadId': '68d650a1d73ec60008f933db', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50db067f0>, 'ContentLength': 81012} gunicorn-registry stdout | 2025-09-26 08:36:49,080 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,080 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,080 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,080 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,080 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,081 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,081 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,081 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,081 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:49,081 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:49,081 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:49,081 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:49,081 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,081 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,081 [257] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:49,081 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,081 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,082 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02', 'query_string': {'uploadId': '68d650a1d73ec60008f933db', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '81012', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'QolacQpFVy4NfShC3qVfOg==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50db067f0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02?uploadId=68d650a1d73ec60008f933db&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02', 'UploadId': '68d650a1d73ec60008f933db', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50db067f0>, 'ContentLength': 81012}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:49,082 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,082 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,082 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,082 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,082 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:49,082 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02 gunicorn-registry stdout | partNumber=1&uploadId=68d650a1d73ec60008f933db gunicorn-registry stdout | content-length:81012 gunicorn-registry stdout | content-md5:QolacQpFVy4NfShC3qVfOg== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083649Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:49,082 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083649Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 7dbde32ceeac2e2fe80bb2c9071894b06d59cca6e42db83332cd66c7b3fbcb47 gunicorn-registry stdout | 2025-09-26 08:36:49,082 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 7d1378b1453df0e7718165ac06f7caea899f3b3d90f4f85f9b5ed98c32b109ea gunicorn-registry stdout | 2025-09-26 08:36:49,082 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,082 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:49,083 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:49,084 [257] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:49,084 [257] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:36:49,141 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02?uploadId=68d650a1d73ec60008f933db&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:49,141 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8s3g-45sspw-161r', 'x-amz-id-2': 'mg0l8s3g-45sspw-161r', 'ETag': '"42895a710a45572e0d7d2842dea55f3a"', 'Date': 'Fri, 26 Sep 2025 08:36:49 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:49,141 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:49,141 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,141 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:49,141 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,142 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8s3g-45sspw-161r', 'HostId': 'mg0l8s3g-45sspw-161r', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8s3g-45sspw-161r', 'x-amz-id-2': 'mg0l8s3g-45sspw-161r', 'etag': '"42895a710a45572e0d7d2842dea55f3a"', 'date': 'Fri, 26 Sep 2025 08:36:49 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"42895a710a45572e0d7d2842dea55f3a"'} gunicorn-registry stdout | 2025-09-26 08:36:49,142 [257] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02', 'UploadId': '68d650a1d73ec60008f933db', 'MultipartUpload': {'Parts': [{'ETag': '"42895a710a45572e0d7d2842dea55f3a"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:36:49,142 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,142 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,142 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,142 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,142 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,142 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,142 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,142 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:49,142 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:49,142 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:49,142 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:49,143 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,143 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,143 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,143 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02', 'query_string': {'uploadId': '68d650a1d73ec60008f933db'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"42895a710a45572e0d7d2842dea55f3a"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02?uploadId=68d650a1d73ec60008f933db', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02', 'UploadId': '68d650a1d73ec60008f933db', 'MultipartUpload': {'Parts': [{'ETag': '"42895a710a45572e0d7d2842dea55f3a"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:49,143 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,143 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,143 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,143 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,143 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:49,143 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02 gunicorn-registry stdout | uploadId=68d650a1d73ec60008f933db gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e46eee845ca4eeea007edffc36b9e7d1d1657a5d6c8861a7273b3e4bfd5ae309 gunicorn-registry stdout | x-amz-date:20250926T083649Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e46eee845ca4eeea007edffc36b9e7d1d1657a5d6c8861a7273b3e4bfd5ae309 gunicorn-registry stdout | 2025-09-26 08:36:49,143 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083649Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 34062e2f0ed0344ecc8ba9c6bb59055928483fa60f2f65a9bc600a1c5fd34333 gunicorn-registry stdout | 2025-09-26 08:36:49,143 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6699582b6a23d42e8b34f2f0220b084b12aca98e508fba81665926ae710a56d1 gunicorn-registry stdout | 2025-09-26 08:36:49,144 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,144 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:49,144 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:49,158 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02?uploadId=68d650a1d73ec60008f933db HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:36:49,158 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8s55-55vw0s-17jb', 'x-amz-id-2': 'mg0l8s55-55vw0s-17jb', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:36:49 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:49,158 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02"3f4dc804a3bdcd9477d2ca35497b09c9-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02?uploadId=68d650a1d73ec60008f933db' gunicorn-registry stdout | 2025-09-26 08:36:49,159 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,159 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,159 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:49,159 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,159 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8s55-55vw0s-17jb', 'HostId': 'mg0l8s55-55vw0s-17jb', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8s55-55vw0s-17jb', 'x-amz-id-2': 'mg0l8s55-55vw0s-17jb', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:36:49 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02?uploadId=68d650a1d73ec60008f933db', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d657156c-0293-4583-a0bb-dcd7f3edde02', 'ETag': '"3f4dc804a3bdcd9477d2ca35497b09c9-1"'} gunicorn-registry stdout | 2025-09-26 08:36:49,159 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:49,160 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:49,160 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 81012 bytes to blob a147e68a-b723-48e8-ada5-d6528b03f3df took 0.1188514232635498 seconds gunicorn-registry stdout | 2025-09-26 08:36:49,161 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['a147e68a-b723-48e8-ada5-d6528b03f3df', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,165 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, 'a147e68a-b723-48e8-ada5-d6528b03f3df', 81012, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwOGVjOTZkZDEzNTgiLCJyZWxhdGlvbnNoaXBUeXBlIjoiR0VORVJBVEVEX0ZST00ifV19fWIyMjE1M2ZjNmE0ZjQAAAAAAAAAAOIJAAAAAADykcElilJKYLtbo7Z+mVCa/qmeKmGJ3L3SfxNoX2Ffx5RiLg==', 9, '{"chunks": [["uploads/d657156c-0293-4583-a0bb-dcd7f3edde02", 0, 81012]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 36, 48, 961754), None, None, 24]) gunicorn-registry stdout | 2025-09-26 08:36:49,170 [257] [DEBUG] [app] Ending request: urn:request:b2ba2248-fd3e-4061-b772-36b6d0fc18b0 (/v2/testorg/alpine/blobs/uploads/a147e68a-b723-48e8-ada5-d6528b03f3df) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:b2ba2248-fd3e-4061-b772-36b6d0fc18b0', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/a147e68a-b723-48e8-ada5-d6528b03f3df', 'path': '/v2/testorg/alpine/blobs/uploads/a147e68a-b723-48e8-ada5-d6528b03f3df', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:49,170 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:49,170 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:49,170 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:49 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/a147e68a-b723-48e8-ada5-d6528b03f3df HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:49 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/a147e68a-b723-48e8-ada5-d6528b03f3df HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.166 82786 0.165) gunicorn-registry stdout | 2025-09-26 08:36:49,192 [257] [DEBUG] [app] Starting request: urn:request:7315ab59-5030-40c9-b33b-40462d21f495 (/v2/testorg/alpine/blobs/uploads/8f9ed9fe-c885-428d-927b-8cd3d2ff30b8) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:49,192 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '8f9ed9fe-c885-428d-927b-8cd3d2ff30b8', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:49,192 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:49,192 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:49,193 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:49,193 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:49,194 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:49,194 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:49,194 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:49,194 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,198 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,202 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,205 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,209 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,212 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,216 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,220 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:49,224 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['8f9ed9fe-c885-428d-927b-8cd3d2ff30b8', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,227 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:49,227 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:49,228 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:49,229 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:49,229 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/57d2950b-1b3f-4b76-bf4f-a2f68d23bddd', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:49,229 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,229 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,229 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,229 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,229 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,229 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,229 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,229 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,229 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:49,229 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:49,229 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:49,229 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:49,229 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,229 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,230 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,230 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/57d2950b-1b3f-4b76-bf4f-a2f68d23bddd?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/57d2950b-1b3f-4b76-bf4f-a2f68d23bddd', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/57d2950b-1b3f-4b76-bf4f-a2f68d23bddd?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/57d2950b-1b3f-4b76-bf4f-a2f68d23bddd', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:49,230 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,230 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,230 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,230 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,230 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:49,230 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/57d2950b-1b3f-4b76-bf4f-a2f68d23bddd gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083649Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:49,230 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083649Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | fc6333cd4e864a57db39551174cd5cc512de374ba7c67ee82312c418a5b3631d gunicorn-registry stdout | 2025-09-26 08:36:49,230 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | baca1ea559b9c994a1904c452a8dcee1df17ac8c51ad877257a9ec437206dab4 gunicorn-registry stdout | 2025-09-26 08:36:49,230 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,230 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:49,231 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:49,238 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/57d2950b-1b3f-4b76-bf4f-a2f68d23bddd?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:49,238 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8s7k-6m4fld-chm', 'x-amz-id-2': 'mg0l8s7k-6m4fld-chm', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:49 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:49,238 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/57d2950b-1b3f-4b76-bf4f-a2f68d23bddd68d650a1d73ec60008f933e7' gunicorn-registry stdout | 2025-09-26 08:36:49,238 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,238 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:49,238 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,238 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8s7k-6m4fld-chm', 'HostId': 'mg0l8s7k-6m4fld-chm', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8s7k-6m4fld-chm', 'x-amz-id-2': 'mg0l8s7k-6m4fld-chm', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:49 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/57d2950b-1b3f-4b76-bf4f-a2f68d23bddd', 'UploadId': '68d650a1d73ec60008f933e7'} gunicorn-registry stdout | 2025-09-26 08:36:49,238 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:49,239 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/57d2950b-1b3f-4b76-bf4f-a2f68d23bddd', 'UploadId': '68d650a1d73ec60008f933e7'} gunicorn-registry stdout | 2025-09-26 08:36:49,239 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,239 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,239 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,239 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,239 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,239 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,239 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:49,239 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:49,239 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:49,239 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:49,240 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,240 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,240 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,240 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/57d2950b-1b3f-4b76-bf4f-a2f68d23bddd', 'query_string': {'uploadId': '68d650a1d73ec60008f933e7'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/57d2950b-1b3f-4b76-bf4f-a2f68d23bddd', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/57d2950b-1b3f-4b76-bf4f-a2f68d23bddd?uploadId=68d650a1d73ec60008f933e7', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/57d2950b-1b3f-4b76-bf4f-a2f68d23bddd', 'UploadId': '68d650a1d73ec60008f933e7'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:49,240 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,240 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,240 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,240 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,240 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:49,240 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/57d2950b-1b3f-4b76-bf4f-a2f68d23bddd gunicorn-registry stdout | uploadId=68d650a1d73ec60008f933e7 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083649Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:49,240 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083649Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 24312e4c3bd64dfdbbadcb035317425722d8c606b634650ff4b5a511435d7ca4 gunicorn-registry stdout | 2025-09-26 08:36:49,240 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | c277c3e08a9ab94994282603de9b6f350bb8c910160dc4865f1c77e6b89ebc1d gunicorn-registry stdout | 2025-09-26 08:36:49,240 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,240 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:49,241 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:49,247 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/57d2950b-1b3f-4b76-bf4f-a2f68d23bddd?uploadId=68d650a1d73ec60008f933e7 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:49,247 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8s7t-6ren69-67q', 'x-amz-id-2': 'mg0l8s7t-6ren69-67q', 'Date': 'Fri, 26 Sep 2025 08:36:49 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:49,247 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:49,247 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,248 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:49,248 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,248 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8s7t-6ren69-67q', 'HostId': 'mg0l8s7t-6ren69-67q', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8s7t-6ren69-67q', 'x-amz-id-2': 'mg0l8s7t-6ren69-67q', 'date': 'Fri, 26 Sep 2025 08:36:49 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:49,248 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 8f9ed9fe-c885-428d-927b-8cd3d2ff30b8 took 0.020304203033447266 seconds gunicorn-registry stdout | 2025-09-26 08:36:49,248 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['8f9ed9fe-c885-428d-927b-8cd3d2ff30b8', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,252 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '8f9ed9fe-c885-428d-927b-8cd3d2ff30b8', 5749, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwaHR0cHM6Ly9tb2J5cHJvamVjdC5vcmcvYnVpbGRraXRAdjEjaGVybWV0aWMiOnRydWV9fX01OTQxfV1dfX0sIjUAAAAAAAAAALIAAAAAAABCvht6PleLQT8dPeCcaYwXXuzwcAfubFPNJ1+ddOVRe5RiLg==', 9, '{"chunks": [["uploads/b33f0ad4-af4f-41c2-9bff-8d97fc882dc2", 0, 5749]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 36, 48, 971062), None, None, 25]) gunicorn-registry stdout | 2025-09-26 08:36:49,257 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:49,257 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:49,257 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:49,258 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:49,258 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/0b/0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483'} gunicorn-registry stdout | 2025-09-26 08:36:49,258 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,258 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,258 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,258 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,258 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,258 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,258 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,259 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:49,259 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:49,259 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:49,259 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:49,259 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,259 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,259 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,259 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/0b/0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/0b/0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/0b/0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/0b/0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:49,259 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,259 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,259 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,259 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,260 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:49,260 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/0b/0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083649Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:49,260 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083649Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 104414d1cf5649c979377b3b690a8eb0ad06edbaee3280cf3dcb57ef35f31419 gunicorn-registry stdout | 2025-09-26 08:36:49,260 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 295ccd3f272f84989bf6c1ed11754066604252d5102c6c3ec0dfb5f31b45b087 gunicorn-registry stdout | 2025-09-26 08:36:49,260 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,260 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:49,260 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:49,264 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/0b/0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:49,264 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8s8d-734zpc-6vk', 'x-amz-id-2': 'mg0l8s8d-734zpc-6vk', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:49 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:49,264 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:49,265 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,265 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:49,265 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,265 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:49,265 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:49,265 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/0b/0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483 gunicorn-registry stdout | 2025-09-26 08:36:49,266 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:49,266 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:49,266 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:49,266 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/b33f0ad4-af4f-41c2-9bff-8d97fc882dc2', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b33f0ad4-af4f-41c2-9bff-8d97fc882dc2', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b33f0ad4-af4f-41c2-9bff-8d97fc882dc2', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b33f0ad4-af4f-41c2-9bff-8d97fc882dc2'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,267 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,268 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:49,268 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b33f0ad4-af4f-41c2-9bff-8d97fc882dc2 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083649Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:49,268 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083649Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 95fa46879791d54a304cfe40f531e73090fc8df5dd7b956f34a394bd6cc9d8dd gunicorn-registry stdout | 2025-09-26 08:36:49,268 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 5a2dc784e19f2f98a8d255d8244d36ad98afa1605607d358610163aa4d4a0cfd gunicorn-registry stdout | 2025-09-26 08:36:49,268 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,268 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,268 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:49,269 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:49,272 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b33f0ad4-af4f-41c2-9bff-8d97fc882dc2 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:49,273 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8s8m-78coy4-13nr', 'x-amz-id-2': 'mg0l8s8m-78coy4-13nr', 'ETag': '"13bd928752c06ba71e4750bf5a90b84d-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:49 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '5749', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:49 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:49,273 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:49,273 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,273 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:49,273 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,273 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/0b/0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:49,273 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:49,274 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/0b/0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:49,274 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/0b/0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:49,274 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/0b/0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b33f0ad4-af4f-41c2-9bff-8d97fc882dc2'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/0b/0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 'extra_args': {}, 'callbacks': [], 'size': 5749} gunicorn-registry stdout | 2025-09-26 08:36:49,274 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,274 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,274 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,274 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,274 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,274 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,274 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,274 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,274 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,274 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,274 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:49,274 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:49,274 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:49,274 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:49,275 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,275 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,275 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,275 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/0b/0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b33f0ad4-af4f-41c2-9bff-8d97fc882dc2', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/0b/0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/0b/0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b33f0ad4-af4f-41c2-9bff-8d97fc882dc2', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/0b/0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:49,275 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,275 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,275 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,275 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,275 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,275 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:49,275 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/0b/0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b33f0ad4-af4f-41c2-9bff-8d97fc882dc2 gunicorn-registry stdout | x-amz-date:20250926T083649Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:49,275 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083649Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 1135e240b8478e0b6a26378d7c01033529fcbb6e866174872b6e933f9c306881 gunicorn-registry stdout | 2025-09-26 08:36:49,275 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | a9a256e36d335382056dafe134a739a4220493ef00f0dee7f1d0d6672f18f7ba gunicorn-registry stdout | 2025-09-26 08:36:49,275 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,275 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,275 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:49,276 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:49,276 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:49,299 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/0b/0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:36:49,300 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8s8t-7cixru-dqf', 'x-amz-id-2': 'mg0l8s8t-7cixru-dqf', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:36:49 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:49,300 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:49.000Z"13bd928752c06ba71e4750bf5a90b84d-1"' gunicorn-registry stdout | 2025-09-26 08:36:49,300 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,300 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,300 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:49,300 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,300 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:49,301 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 8f9ed9fe-c885-428d-927b-8cd3d2ff30b8 with digest sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483 took 0.035780906677246094 seconds gunicorn-registry stdout | 2025-09-26 08:36:49,301 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['8f9ed9fe-c885-428d-927b-8cd3d2ff30b8', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,305 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,306 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['fd176eb0-550b-45c2-aaff-bd6bf215f51f', 5749, None, True, True, 'sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483']) gunicorn-registry stdout | 2025-09-26 08:36:49,308 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [26, 9]) gunicorn-registry stdout | 2025-09-26 08:36:49,309 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,311 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 26, datetime.datetime(2025, 9, 26, 8, 36, 49, 310952), datetime.datetime(2025, 9, 26, 9, 36, 49, 310935)]) gunicorn-registry stdout | 2025-09-26 08:36:49,313 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [25]) gunicorn-registry stdout | 2025-09-26 08:36:49,318 [257] [DEBUG] [app] Ending request: urn:request:7315ab59-5030-40c9-b33b-40462d21f495 (/v2/testorg/alpine/blobs/uploads/8f9ed9fe-c885-428d-927b-8cd3d2ff30b8) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:7315ab59-5030-40c9-b33b-40462d21f495', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/8f9ed9fe-c885-428d-927b-8cd3d2ff30b8?digest=sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 'path': '/v2/testorg/alpine/blobs/uploads/8f9ed9fe-c885-428d-927b-8cd3d2ff30b8', 'parameters': {'digest': 'sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:49,318 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:49,318 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:49,318 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:49 +0000] "PUT /v2/testorg/alpine/blobs/uploads/8f9ed9fe-c885-428d-927b-8cd3d2ff30b8?digest=sha256%3A0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:49 +0000] "PUT /v2/testorg/alpine/blobs/uploads/8f9ed9fe-c885-428d-927b-8cd3d2ff30b8?digest=sha256%3A0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.127 1849 0.127) securityworker stdout | 2025-09-26 08:36:49,334 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:36:49,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:57.335452+00:00 (in 8.000416 seconds) securityworker stdout | 2025-09-26 08:36:49,335 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:19 GMT)" (scheduled at 2025-09-26 08:36:49.334273+00:00) securityworker stdout | 2025-09-26 08:36:49,335 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:36:49,335 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:36:49,338 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:36:49,340 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:36:49,352 [89] [DEBUG] [peewee] ('SELECT Min("t1"."id") FROM "manifest" AS "t1"', []) securityworker stderr | 2025-09-26 08:36:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-9 securityworker stdout | 2025-09-26 08:36:49,355 [89] [DEBUG] [util.migrate.allocator] Total range: 1-9 securityworker stdout | 2025-09-26 08:36:49,355 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:36:49,355 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-9 securityworker stdout | 2025-09-26 08:36:49,355 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 5 securityworker stderr | 2025-09-26 08:36:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:36:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-9 securityworker stderr | 2025-09-26 08:36:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 5 securityworker stdout | 2025-09-26 08:36:49,356 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 5, 9]) securityworker stderr | 2025-09-26 08:36:49 [89] [DEBUG] [util.migrate.allocator] Found 4 candidates, processing block start: 5 end: 9 by worker securityworker stdout | 2025-09-26 08:36:49,361 [89] [DEBUG] [util.migrate.allocator] Found 4 candidates, processing block start: 5 end: 9 by worker securityworker stdout | 2025-09-26 08:36:49,361 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "mediatype" AS "t1"', []) securityworker stdout | 2025-09-26 08:36:49,366 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [5, 1, 0]) securityworker stdout | 2025-09-26 08:36:49,370 [89] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9', 1, 0]) securityworker stdout | 2025-09-26 08:36:49,375 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['5fa09ad8-4d79-43e5-afae-741bb0754a48']) securityworker stdout | 2025-09-26 08:36:49,378 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "imagestoragelocation" AS "t1"', []) securityworker stdout | 2025-09-26 08:36:49,383 [89] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/endpoints.json securityworker stdout | 2025-09-26 08:36:49,400 [89] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/sdk-default-configuration.json securityworker stdout | 2025-09-26 08:36:49,400 [89] [DEBUG] [botocore.hooks] Event choose-service-name: calling handler securityworker stdout | 2025-09-26 08:36:49,412 [89] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/s3/2006-03-01/service-2.json securityworker stdout | 2025-09-26 08:36:49,432 [89] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/s3/2006-03-01/endpoint-rule-set-1.json securityworker stdout | 2025-09-26 08:36:49,436 [89] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/partitions.json securityworker stdout | 2025-09-26 08:36:49,438 [89] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler securityworker stdout | 2025-09-26 08:36:49,438 [89] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler ._handler at 0x7f614e756520> securityworker stdout | 2025-09-26 08:36:49,488 [89] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler securityworker stdout | 2025-09-26 08:36:49,490 [89] [DEBUG] [botocore.endpoint] Setting s3 timeout as (60, 60) securityworker stdout | 2025-09-26 08:36:49,492 [89] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/botocore/data/_retry.json securityworker stdout | 2025-09-26 08:36:49,493 [89] [DEBUG] [botocore.client] Registering retry handlers for service: s3 securityworker stdout | 2025-09-26 08:36:49,493 [89] [DEBUG] [botocore.utils] Registering S3 region redirector handler securityworker stdout | 2025-09-26 08:36:49,506 [89] [DEBUG] [botocore.loaders] Loading JSON file: /app/lib/python3.12/site-packages/boto3/data/s3/2006-03-01/resources-1.json securityworker stdout | 2025-09-26 08:36:49,507 [89] [DEBUG] [botocore.hooks] Event choose-service-name: calling handler securityworker stdout | 2025-09-26 08:36:49,509 [89] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler securityworker stdout | 2025-09-26 08:36:49,509 [89] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler ._handler at 0x7f614e756520> securityworker stdout | 2025-09-26 08:36:49,509 [89] [DEBUG] [botocore.hooks] Event creating-client-class.s3: calling handler securityworker stdout | 2025-09-26 08:36:49,511 [89] [DEBUG] [botocore.endpoint] Setting s3 timeout as (60, 60) securityworker stdout | 2025-09-26 08:36:49,513 [89] [DEBUG] [botocore.client] Registering retry handlers for service: s3 securityworker stdout | 2025-09-26 08:36:49,513 [89] [DEBUG] [botocore.utils] Registering S3 region redirector handler gunicorn-registry stdout | 2025-09-26 08:36:49,513 [256] [DEBUG] [app] Starting request: urn:request:3e170426-6666-442b-bde8-a5bd2b7859be (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:49,513 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:49,513 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:49,514 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw securityworker stdout | 2025-09-26 08:36:49,514 [89] [DEBUG] [boto3.resources.factory] Loading s3:s3 gunicorn-registry stdout | 2025-09-26 08:36:49,514 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:49,515 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:49,515 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:49,515 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:49,515 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:49,516 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) securityworker stdout | 2025-09-26 08:36:49,515 [89] [DEBUG] [boto3.resources.factory] Loading s3:Bucket securityworker stdout | 2025-09-26 08:36:49,515 [89] [DEBUG] [boto3.resources.model] Renaming Bucket attribute name securityworker stdout | 2025-09-26 08:36:49,516 [89] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Bucket: calling handler ._handler at 0x7f614e757f60> securityworker stdout | 2025-09-26 08:36:49,516 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler securityworker stdout | 2025-09-26 08:36:49,516 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler securityworker stdout | 2025-09-26 08:36:49,517 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler > securityworker stdout | 2025-09-26 08:36:49,517 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadBucket: calling handler securityworker stdout | 2025-09-26 08:36:49,517 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:49,517 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:49,517 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:49,518 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:49,518 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:49,518 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:49,519 [89] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler securityworker stdout | 2025-09-26 08:36:49,519 [89] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler securityworker stdout | 2025-09-26 08:36:49,519 [89] [DEBUG] [botocore.hooks] Event before-call.s3.HeadBucket: calling handler securityworker stdout | 2025-09-26 08:36:49,519 [89] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadBucket) with params: {'url_path': '', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} securityworker stdout | 2025-09-26 08:36:49,519 [89] [DEBUG] [botocore.hooks] Event request-created.s3.HeadBucket: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,520 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) securityworker stdout | 2025-09-26 08:36:49,520 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadBucket: calling handler > securityworker stdout | 2025-09-26 08:36:49,520 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadBucket: calling handler securityworker stdout | 2025-09-26 08:36:49,520 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadBucket: calling handler securityworker stdout | 2025-09-26 08:36:49,520 [89] [DEBUG] [botocore.auth] Calculating signature using v4 auth. securityworker stdout | 2025-09-26 08:36:49,520 [89] [DEBUG] [botocore.auth] CanonicalRequest: securityworker stdout | HEAD securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | host:s3.openshift-storage.svc.cluster.local securityworker stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | x-amz-date:20250926T083649Z securityworker stdout | host;x-amz-content-sha256;x-amz-date securityworker stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | 2025-09-26 08:36:49,520 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | AWS4-HMAC-SHA256 securityworker stdout | 20250926T083649Z securityworker stdout | 20250926/us-east-1/s3/aws4_request securityworker stdout | 9d1179ddd0ddf538d2bcb853f5d07a8bacbb9221350b4844bbaa4936c2fac98c securityworker stdout | 2025-09-26 08:36:49,521 [89] [DEBUG] [botocore.auth] Signature: securityworker stdout | b3c6343513f4bc7238083cead2d364640efa20d633dea101bcfa83df4d7720af securityworker stdout | 2025-09-26 08:36:49,521 [89] [DEBUG] [botocore.hooks] Event request-created.s3.HeadBucket: calling handler securityworker stdout | 2025-09-26 08:36:49,521 [89] [DEBUG] [botocore.endpoint] Sending http request: securityworker stdout | 2025-09-26 08:36:49,522 [89] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem securityworker stdout | 2025-09-26 08:36:49,522 [89] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (1): s3.openshift-storage.svc.cluster.local:443 gunicorn-registry stdout | 2025-09-26 08:36:49,523 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,528 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,531 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,535 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,538 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:49,542 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,546 [256] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, '7989b191-5e8e-4ca1-89f3-a0b5afec6373', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 49, 546321)]) gunicorn-registry stdout | 2025-09-26 08:36:49,551 [256] [DEBUG] [app] Ending request: urn:request:3e170426-6666-442b-bde8-a5bd2b7859be (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:3e170426-6666-442b-bde8-a5bd2b7859be', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:49,551 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:49,551 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:49 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.040 1693 0.040) gunicorn-registry stdout | 2025-09-26 08:36:49,552 [256] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:49 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" securityworker stdout | 2025-09-26 08:36:49,554 [89] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 HTTP/1.1" 200 0 securityworker stdout | 2025-09-26 08:36:49,554 [89] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8sgb-btbfad-m7b', 'x-amz-id-2': 'mg0l8sgb-btbfad-m7b', 'Date': 'Fri, 26 Sep 2025 08:36:49 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} securityworker stdout | 2025-09-26 08:36:49,554 [89] [DEBUG] [botocore.parsers] Response body: securityworker stdout | b'' securityworker stdout | 2025-09-26 08:36:49,555 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadBucket: calling handler securityworker stdout | 2025-09-26 08:36:49,555 [89] [DEBUG] [botocore.retryhandler] No retry needed. securityworker stdout | 2025-09-26 08:36:49,555 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadBucket: calling handler > securityworker stdout | 2025-09-26 08:36:49,555 [89] [DEBUG] [boto3.resources.factory] Loading s3:Object securityworker stdout | 2025-09-26 08:36:49,557 [89] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7f614e757ec0> securityworker stdout | 2025-09-26 08:36:49,557 [89] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/54/54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9'} securityworker stdout | 2025-09-26 08:36:49,558 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,558 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,558 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,558 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:49,558 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,558 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:49,558 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:49,558 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:49,559 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:49,559 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:49,559 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:49,560 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,560 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,560 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,560 [89] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/54/54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/54/54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/54/54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/54/54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} securityworker stdout | 2025-09-26 08:36:49,561 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:49,561 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:49,561 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,561 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,561 [89] [DEBUG] [botocore.auth] Calculating signature using v4 auth. securityworker stdout | 2025-09-26 08:36:49,562 [89] [DEBUG] [botocore.auth] CanonicalRequest: securityworker stdout | GET securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/54/54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9 securityworker stdout | host:s3.openshift-storage.svc.cluster.local securityworker stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | x-amz-date:20250926T083649Z securityworker stdout | host;x-amz-content-sha256;x-amz-date securityworker stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | 2025-09-26 08:36:49,562 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | AWS4-HMAC-SHA256 securityworker stdout | 20250926T083649Z securityworker stdout | 20250926/us-east-1/s3/aws4_request securityworker stdout | ecf9ae8ecf1f07e20c8c47acacfe14b98e49abd98d876fa0cf17a5595d15693b securityworker stdout | 2025-09-26 08:36:49,562 [89] [DEBUG] [botocore.auth] Signature: securityworker stdout | 1a360c3f8663f3544ef5a3271b857a4bae82f5f1ad2d2fe981b7a05f65d714bb securityworker stdout | 2025-09-26 08:36:49,562 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,562 [89] [DEBUG] [botocore.endpoint] Sending http request: securityworker stdout | 2025-09-26 08:36:49,562 [89] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem securityworker stdout | 2025-09-26 08:36:49,563 [89] [DEBUG] [urllib3.connectionpool] Starting new HTTPS connection (1): s3.openshift-storage.svc.cluster.local:443 securityworker stdout | 2025-09-26 08:36:49,600 [89] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/54/54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9 HTTP/1.1" 200 167 securityworker stdout | 2025-09-26 08:36:49,600 [89] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8she-cgf9bh-op8', 'x-amz-id-2': 'mg0l8she-cgf9bh-op8', 'ETag': '"a9818db4e7d1861b8e5bdda91b9febaf-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:41 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '167', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:49 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} securityworker stdout | 2025-09-26 08:36:49,600 [89] [DEBUG] [botocore.parsers] Response body: securityworker stdout | securityworker stdout | 2025-09-26 08:36:49,601 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,602 [89] [DEBUG] [botocore.retryhandler] No retry needed. securityworker stdout | 2025-09-26 08:36:49,602 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:49,602 [89] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8she-cgf9bh-op8', 'HostId': 'mg0l8she-cgf9bh-op8', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8she-cgf9bh-op8', 'x-amz-id-2': 'mg0l8she-cgf9bh-op8', 'etag': '"a9818db4e7d1861b8e5bdda91b9febaf-1"', 'last-modified': 'Fri, 26 Sep 2025 08:36:41 GMT', 'content-type': 'application/octet-stream', 'content-length': '167', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:36:49 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 36, 41, tzinfo=tzutc()), 'ContentLength': 167, 'ETag': '"a9818db4e7d1861b8e5bdda91b9febaf-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } securityworker stdout | 2025-09-26 08:36:49,605 [89] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "manifestblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [2, 'sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735', 1, 2, 'sha256:54a440516c40bffd899eafa298d86b1b7319b62e4f732d8acb1e7c1b3e61a6f9', 1]) securityworker stdout | 2025-09-26 08:36:49,610 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['ba789f5f-da42-4591-8b41-6bdd6e1a39be']) securityworker stdout | 2025-09-26 08:36:49,613 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."manifest_id", "t1"."repository_id", "t1"."index_status", "t1"."error_json", "t1"."last_indexed", "t1"."indexer_hash", "t1"."indexer_version", "t1"."metadata_json" FROM "manifestsecuritystatus" AS "t1" WHERE ("t1"."manifest_id" = %s)', [5]) securityworker stdout | 2025-09-26 08:36:49,617 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) securityworker stdout | 2025-09-26 08:36:49,621 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) securityworker stdout | 2025-09-26 08:36:49,624 [89] [DEBUG] [data.secscan_model.secscan_v4_model] Indexing manifest [5] 3/alpine@sha256:1475ea648c2027063f90bc98072ee2197ceec56e17de472f7f9777b8944e9c38 securityworker stdout | 2025-09-26 08:36:49,625 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,625 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,625 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,625 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:49,625 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,625 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:49,625 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:49,626 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:49,626 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:49,626 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:49,626 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:49,626 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:49,626 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,626 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:36:49,626 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:36:49,627 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876409 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735 securityworker stdout | 2025-09-26 08:36:49,634 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EQTVMQ0pwWVhRaU9qRTNOVGc0TnpVNE1Ea3NJbVY0Y0NJNk1UYzFPRGczTmpRd09Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4Mk1TODJNVEV3TVRRNU5UVmxOek0wWldVMFlqWmtaakprTnpCbE5UQmxZVFZsWmprM09XWmtNekprTm1SaE9EQmlaRFJtTVdNeU9XRTBNbUV6T1dSa056TTFQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDEwYlZWVllYRnVUMEU0U2tzeWNYRXdTMjFQUW1jeFJUZDNhMDBsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRBNUlpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuWjRNN18wY1JHQkdQbTNPX1lMSGFyTzJ2QXNxQkw2Ul80cE1pNkxKamI1VkV6M1NHdnJwNWRmcDNIc2JtT2VRcVVXeG5BcE1famlRVEk3RThtdG82aGd6cDZmdlhhVGxKLVFjTzhwVU9UYVdhYjN2Qmg0LVc3dG80LVcxbEpvT0JrNGJSUzJxRUpfNjAya092aGRsaVpCOXRXVUxQOVFFcDhDaHhLNUphVlgtUlo2SEo1bWY4bW1VRHJna2xXMWZQeTU3dXZrbmJaTEU0NEV6SEQyZmlCS1VnRWE3SE9USEdnQldQTm52SE1FWjFMdVlrMXpRenpqdkZvQ0ZvbENzX3VmZjBhZFg0UGhwLWxfZ3NqYVNLb1J2YTlmZHU4U1VhYnBiTnl3XzlnN0NWTjUyRm5WVmFuQmI5NDNXc0czOW8wNUVRZnZHYWZqVjZwQTRzbDMycHNB/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=tmUUaqnOA8JK2qq0KmOBg1E7wkM%3D&Expires=1758876409 securityworker stdout | 2025-09-26 08:36:49,634 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,634 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,634 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,634 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:49,634 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,634 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:49,634 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:49,634 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:49,634 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:49,634 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:49,634 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:49,635 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:49,635 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:49,635 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:36:49,635 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:36:49,635 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876409 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735 securityworker stdout | 2025-09-26 08:36:49,641 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EQTVMQ0pwWVhRaU9qRTNOVGc0TnpVNE1Ea3NJbVY0Y0NJNk1UYzFPRGczTmpRd09Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4Mk1TODJNVEV3TVRRNU5UVmxOek0wWldVMFlqWmtaakprTnpCbE5UQmxZVFZsWmprM09XWmtNekprTm1SaE9EQmlaRFJtTVdNeU9XRTBNbUV6T1dSa056TTFQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDEwYlZWVllYRnVUMEU0U2tzeWNYRXdTMjFQUW1jeFJUZDNhMDBsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRBNUlpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuWjRNN18wY1JHQkdQbTNPX1lMSGFyTzJ2QXNxQkw2Ul80cE1pNkxKamI1VkV6M1NHdnJwNWRmcDNIc2JtT2VRcVVXeG5BcE1famlRVEk3RThtdG82aGd6cDZmdlhhVGxKLVFjTzhwVU9UYVdhYjN2Qmg0LVc3dG80LVcxbEpvT0JrNGJSUzJxRUpfNjAya092aGRsaVpCOXRXVUxQOVFFcDhDaHhLNUphVlgtUlo2SEo1bWY4bW1VRHJna2xXMWZQeTU3dXZrbmJaTEU0NEV6SEQyZmlCS1VnRWE3SE9USEdnQldQTm52SE1FWjFMdVlrMXpRenpqdkZvQ0ZvbENzX3VmZjBhZFg0UGhwLWxfZ3NqYVNLb1J2YTlmZHU4U1VhYnBiTnl3XzlnN0NWTjUyRm5WVmFuQmI5NDNXc0czOW8wNUVRZnZHYWZqVjZwQTRzbDMycHNB/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=tmUUaqnOA8JK2qq0KmOBg1E7wkM%3D&Expires=1758876409 securityworker stdout | 2025-09-26 08:36:49,642 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:36:49,642 [89] [DEBUG] [util.secscan.v4.api] POSTing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_report gunicorn-registry stdout | 2025-09-26 08:36:49,895 [254] [DEBUG] [app] Starting request: urn:request:c915acd0-ae27-46ae-8ebc-3a0a3bd64a6b (/v2/testorg/alpine/manifests/sha256:c2f35176d51645644dac998abfd7357827f01ca6d7a66b9c846178ddec8e3b80) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:49,895 [254] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:c2f35176d51645644dac998abfd7357827f01ca6d7a66b9c846178ddec8e3b80', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:49,895 [254] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:49,895 [254] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:49,897 [254] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:49,897 [254] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:49,897 [254] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:49,897 [254] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:49,897 [254] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:49,899 [254] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:36:49,899 [254] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:36:49,899 [254] [DEBUG] [data.cache.impl] Found result in cache for key repository_lookup_testorg_alpine: {'id': 2, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': 0, 'namespace_user': {'stripe_id': None}} gunicorn-registry stdout | 2025-09-26 08:36:49,901 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:c2f35176d51645644dac998abfd7357827f01ca6d7a66b9c846178ddec8e3b80', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,906 [254] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL ((SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1") UNION ALL (SELECT * FROM (SELECT "t5"."id", "t5"."content_checksum", "t5"."image_size", "t5"."uuid", "t5"."cas_path", "t5"."uncompressed_size" FROM "imagestorage" AS "t5" INNER JOIN "uploadedblob" AS "t6" ON ("t6"."blob_id" = "t5"."id") WHERE (("t6"."repository_id" = %s) AND ("t5"."content_checksum" = %s)) LIMIT %s) AS "q2"))', [2, 'sha256:5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283', 1, 2, 'sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4', 1, 2, 'sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 1]) gunicorn-registry stdout | 2025-09-26 08:36:49,912 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:c2f35176d51645644dac998abfd7357827f01ca6d7a66b9c846178ddec8e3b80', 2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,916 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "mediatype" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:49,920 [254] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [2, 'sha256:c2f35176d51645644dac998abfd7357827f01ca6d7a66b9c846178ddec8e3b80', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283",\n "size": 241\n },\n "layers": [\n {\n "mediaType": "application/vnd.in-toto+json",\n "digest": "sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4",\n "size": 81012,\n "annotations": {\n "in-toto.io/predicate-type": "https://spdx.dev/Document"\n }\n },\n {\n "mediaType": "application/vnd.in-toto+json",\n "digest": "sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483",\n "size": 5749,\n "annotations": {\n "in-toto.io/predicate-type": "https://slsa.dev/provenance/v0.2"\n }\n }\n ]\n}', 'application/vnd.oci.image.config.v1+json', 86761, None, True, None, True]) gunicorn-registry stdout | 2025-09-26 08:36:49,923 [254] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [2, 9, 25, 2, 9, 26, 2, 9, 27]) gunicorn-registry stdout | 2025-09-26 08:36:49,925 [254] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,926 [254] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [3, 1]) gunicorn-registry stdout | 2025-09-26 08:36:49,928 [254] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 27, 9, 1]) gunicorn-registry stdout | 2025-09-26 08:36:49,929 [254] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 25, 9, 1]) gunicorn-registry stdout | 2025-09-26 08:36:49,931 [254] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 26, 9, 1]) gunicorn-registry stdout | 2025-09-26 08:36:49,932 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,933 [254] [INFO] [data.model.quota] updating namespace size for manifest 9 in namespace 3, QuotaOperation.ADD 87002 gunicorn-registry stdout | 2025-09-26 08:36:49,934 [254] [DEBUG] [peewee] ('UPDATE "quotanamespacesize" SET "size_bytes" = ("quotanamespacesize"."size_bytes" + %s) WHERE ("quotanamespacesize"."namespace_user_id" = %s)', [87002, 3]) gunicorn-registry stdout | 2025-09-26 08:36:49,935 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,936 [254] [INFO] [data.model.quota] updating repository size for manifest 9 in repository 2, QuotaOperation.ADD 87002 gunicorn-registry stdout | 2025-09-26 08:36:49,937 [254] [DEBUG] [peewee] ('UPDATE "quotarepositorysize" SET "size_bytes" = ("quotarepositorysize"."size_bytes" + %s) WHERE ("quotarepositorysize"."repository_id" = %s)', [87002, 2]) gunicorn-registry stdout | 2025-09-26 08:36:49,938 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [9, None, 1758879409938, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,940 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "tagkind" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:49,942 [254] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-ad8f88f6-7be1-4586-bc46-a7c8a91977e4', 2, 9, 1758875809938, 1758879409938, False, True, False, 1]) gunicorn-registry stdout | 2025-09-26 08:36:49,946 [254] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:49,950 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['28c17e26-fd25-43bc-b5e3-0eb584c45bc7']) gunicorn-registry stdout | 2025-09-26 08:36:49,953 [254] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:49,955 [254] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:49,956 [254] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/5c/5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283'} gunicorn-registry stdout | 2025-09-26 08:36:49,956 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,956 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,956 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,956 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,956 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,956 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,956 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,956 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:49,956 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:49,956 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:49,956 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:49,957 [254] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,957 [254] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,957 [254] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,957 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/5c/5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5c/5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5c/5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/5c/5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:49,957 [254] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,957 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:49,957 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,958 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,958 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:49,958 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5c/5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083649Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:49,958 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083649Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 1feeddeb65105742c7482b1e589e86d60403a6533def5e744d792279b6c04648 gunicorn-registry stdout | 2025-09-26 08:36:49,958 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 9d0e5f11af1b334d4786c820890cd608cf83e91716e3e6b163d7dbd0328d5148 gunicorn-registry stdout | 2025-09-26 08:36:49,958 [254] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:49,958 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:49,958 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:49,959 [254] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:36:50,050 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5c/5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283 HTTP/1.1" 200 241 gunicorn-registry stdout | 2025-09-26 08:36:50,050 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8sse-2hbqlt-ofh', 'x-amz-id-2': 'mg0l8sse-2hbqlt-ofh', 'ETag': '"ff5f07fe308df34f73245cf8878c3b21-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:49 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:50 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:50,050 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:36:50,051 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:50,051 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:50,051 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:50,051 [254] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8sse-2hbqlt-ofh', 'HostId': 'mg0l8sse-2hbqlt-ofh', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8sse-2hbqlt-ofh', 'x-amz-id-2': 'mg0l8sse-2hbqlt-ofh', 'etag': '"ff5f07fe308df34f73245cf8878c3b21-1"', 'last-modified': 'Fri, 26 Sep 2025 08:36:49 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:36:50 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 36, 49, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"ff5f07fe308df34f73245cf8878c3b21-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:36:50,053 [254] [DEBUG] [app] Ending request: urn:request:c915acd0-ae27-46ae-8ebc-3a0a3bd64a6b (/v2/testorg/alpine/manifests/sha256:c2f35176d51645644dac998abfd7357827f01ca6d7a66b9c846178ddec8e3b80) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:c915acd0-ae27-46ae-8ebc-3a0a3bd64a6b', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/manifests/sha256:c2f35176d51645644dac998abfd7357827f01ca6d7a66b9c846178ddec8e3b80', 'path': '/v2/testorg/alpine/manifests/sha256:c2f35176d51645644dac998abfd7357827f01ca6d7a66b9c846178ddec8e3b80', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283', 'size': 241}, 'layers': [{'mediaType': 'application/vnd.in-toto+json', 'digest': 'sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4', 'size': 81012, 'annotations': {'in-toto.io/predicate-type': 'https://spdx.dev/Document'}}, {'mediaType': 'application/vnd.in-toto+json', 'digest': 'sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 'size': 5749, 'annotations': {'in-toto.io/predicate-type': 'https://slsa.dev/provenance/v0.2'}}]}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:50,054 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:50,054 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:50,054 [254] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:50 +0000] "PUT /v2/testorg/alpine/manifests/sha256:c2f35176d51645644dac998abfd7357827f01ca6d7a66b9c846178ddec8e3b80 HTTP/1.1" 201 2 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:50 +0000] "PUT /v2/testorg/alpine/manifests/sha256:c2f35176d51645644dac998abfd7357827f01ca6d7a66b9c846178ddec8e3b80 HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.161 2657 0.161) securityworker stdout | 2025-09-26 08:36:50,102 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "POST /indexer/api/v1/index_report HTTP/1.1" 400 None securityworker stdout | 2025-09-26 08:36:50,102 [89] [ERROR] [util.secscan.v4.api] Security scanner endpoint responded with 400 HTTP status code: {"code":"bad-request","message":"failed to start scan: failed to fetch layers: fetcher: encountered errors: claircore: layer sha256:611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735: unable to create fs.FS: tarfs: error finding segments: bad block at 0: got magic \"\\\"name\\\"\""} securityworker stdout | NoneType: None securityworker stdout | 2025-09-26 08:36:50,103 [89] [DEBUG] [peewee] ('DELETE FROM "manifestsecuritystatus" WHERE (("manifestsecuritystatus"."manifest_id" = %s) AND ("manifestsecuritystatus"."repository_id" = %s))', [5, 2]) securityworker stdout | 2025-09-26 08:36:50,105 [89] [DEBUG] [peewee] ('INSERT INTO "manifestsecuritystatus" ("manifest_id", "repository_id", "index_status", "error_json", "last_indexed", "indexer_hash", "indexer_version", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifestsecuritystatus"."id"', [5, 2, -2, '{}', datetime.datetime(2025, 9, 26, 8, 36, 50, 105453), 'none', 4, '{}']) securityworker stdout | 2025-09-26 08:36:50,109 [89] [ERROR] [data.secscan_model.secscan_v4_model] Failed to perform indexing, invalid content sent securityworker stdout | Traceback (most recent call last): securityworker stdout | File "/quay-registry/util/secscan/v4/api.py", line 257, in index securityworker stdout | resp = self._perform(actions["Index"](body)) securityworker stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ securityworker stdout | File "/quay-registry/util/secscan/v4/api.py", line 362, in _perform securityworker stdout | raise BadRequestResponseException(resp) securityworker stdout | util.secscan.v4.api.BadRequestResponseException securityworker stdout | During handling of the above exception, another exception occurred: securityworker stdout | Traceback (most recent call last): securityworker stdout | File "/quay-registry/data/secscan_model/secscan_v4_model.py", line 419, in _index securityworker stdout | (report, state) = self._secscan_api.index(manifest, layers) securityworker stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ securityworker stdout | File "/quay-registry/util/secscan/v4/api.py", line 259, in index securityworker stdout | raise InvalidContentSent(ex) securityworker stdout | util.secscan.v4.api.InvalidContentSent securityworker stdout | 2025-09-26 08:36:50,111 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [6, 1, 0]) securityworker stdout | 2025-09-26 08:36:50,116 [89] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 1, 0]) securityworker stdout | 2025-09-26 08:36:50,119 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['fe50d501-0d40-4c71-b24e-6ee9001a30c2']) securityworker stdout | 2025-09-26 08:36:50,123 [89] [DEBUG] [boto3.resources.factory] Loading s3:Object securityworker stdout | 2025-09-26 08:36:50,123 [89] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7f614e757ec0> securityworker stdout | 2025-09-26 08:36:50,124 [89] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577'} securityworker stdout | 2025-09-26 08:36:50,124 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,124 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,124 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,124 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:50,124 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,124 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:50,124 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:50,124 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:50,124 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:50,124 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:50,124 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:50,125 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,125 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,125 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,125 [89] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} securityworker stdout | 2025-09-26 08:36:50,125 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:50,125 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:50,125 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,125 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,125 [89] [DEBUG] [botocore.auth] Calculating signature using v4 auth. securityworker stdout | 2025-09-26 08:36:50,125 [89] [DEBUG] [botocore.auth] CanonicalRequest: securityworker stdout | GET securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577 securityworker stdout | host:s3.openshift-storage.svc.cluster.local securityworker stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | x-amz-date:20250926T083650Z securityworker stdout | host;x-amz-content-sha256;x-amz-date securityworker stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | 2025-09-26 08:36:50,125 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | AWS4-HMAC-SHA256 securityworker stdout | 20250926T083650Z securityworker stdout | 20250926/us-east-1/s3/aws4_request securityworker stdout | 964385b0c44b5d69e43b017f9ddb5d10fbc2374678ca09fefb7ba5627ed8dd9b securityworker stdout | 2025-09-26 08:36:50,125 [89] [DEBUG] [botocore.auth] Signature: securityworker stdout | 228a9bdae8c02f4bb0b30373bdf1929c1eb9582b0ce7757c9e8c69f94ab8e1a6 securityworker stdout | 2025-09-26 08:36:50,125 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,125 [89] [DEBUG] [botocore.endpoint] Sending http request: securityworker stdout | 2025-09-26 08:36:50,126 [89] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem securityworker stdout | 2025-09-26 08:36:50,139 [89] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/17/1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577 HTTP/1.1" 200 593 securityworker stdout | 2025-09-26 08:36:50,139 [89] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8swe-4uwyxg-1r5', 'x-amz-id-2': 'mg0l8swe-4uwyxg-1r5', 'ETag': '"b56804647948f534a29bd63db3e05be4-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:44 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '593', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:50 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} securityworker stdout | 2025-09-26 08:36:50,139 [89] [DEBUG] [botocore.parsers] Response body: securityworker stdout | securityworker stdout | 2025-09-26 08:36:50,140 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,140 [89] [DEBUG] [botocore.retryhandler] No retry needed. securityworker stdout | 2025-09-26 08:36:50,140 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:50,140 [89] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8swe-4uwyxg-1r5', 'HostId': 'mg0l8swe-4uwyxg-1r5', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8swe-4uwyxg-1r5', 'x-amz-id-2': 'mg0l8swe-4uwyxg-1r5', 'etag': '"b56804647948f534a29bd63db3e05be4-1"', 'last-modified': 'Fri, 26 Sep 2025 08:36:44 GMT', 'content-type': 'application/octet-stream', 'content-length': '593', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:36:50 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 36, 44, tzinfo=tzutc()), 'ContentLength': 593, 'ETag': '"b56804647948f534a29bd63db3e05be4-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } securityworker stdout | 2025-09-26 08:36:50,142 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4', 1, 0]) securityworker stdout | 2025-09-26 08:36:50,145 [89] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "manifestblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [2, 'sha256:1717b9d509321d1c04cfcc2c1c9653e1556e8b87e34a532d0f5c3bdbcf501577', 1, 2, 'sha256:22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9', 1]) securityworker stdout | 2025-09-26 08:36:50,150 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['449c839f-f73e-41ec-a183-cb1bf6b20d28']) securityworker stdout | 2025-09-26 08:36:50,154 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['6d9afe7c-4cd4-46e0-8000-0876c9384bb4']) securityworker stdout | 2025-09-26 08:36:50,157 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."manifest_id", "t1"."repository_id", "t1"."index_status", "t1"."error_json", "t1"."last_indexed", "t1"."indexer_hash", "t1"."indexer_version", "t1"."metadata_json" FROM "manifestsecuritystatus" AS "t1" WHERE ("t1"."manifest_id" = %s)', [6]) securityworker stdout | 2025-09-26 08:36:50,160 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) securityworker stdout | 2025-09-26 08:36:50,163 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) securityworker stdout | 2025-09-26 08:36:50,166 [89] [DEBUG] [data.secscan_model.secscan_v4_model] Indexing manifest [6] 3/alpine@sha256:0b762e487f7a8eb308da049b9a1edfaef7345f847399c27899d49c10e9c325b9 securityworker stdout | 2025-09-26 08:36:50,167 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,167 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,167 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,167 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:50,167 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,167 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:50,167 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:50,167 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:50,167 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:50,167 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:50,167 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:50,167 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:50,167 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,167 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:36:50,167 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:36:50,167 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876410 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9 securityworker stdout | 2025-09-26 08:36:50,174 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ERXdMQ0pwWVhRaU9qRTNOVGc0TnpVNE1UQXNJbVY0Y0NJNk1UYzFPRGczTmpReE1Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4eU1pOHlNbVUwWkRFM01ESTVZMlkyTkRkbVpqVXdOV1ExTXpnNVltVTVNREF3Tm1WbVl6VmxaRFF4TnpoaFpXUTVZVFprTnprNFlUSmlaamRoTmpjMVptTTVQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFXZFU1dVpEUldWME5yV1ZjMFF6UWxNa0pKYWxSNWVHSnFWakpqU1NVelJDWkZlSEJwY21WelBURTNOVGc0TnpZME1UQWlMQ0pvYjNOMElqb2ljek11YjNCbGJuTm9hV1owTFhOMGIzSmhaMlV1YzNaakxtTnNkWE4wWlhJdWJHOWpZV3c2TkRReklpd2ljMk5vWlcxbElqb2lhSFIwY0hNaWZWMHNJbU52Ym5SbGVIUWlPbnQ5ZlEuSlM4d1V0cDYyTmJGNG1qa28xUk53bER0d2hYd3JmclYydnZJa1lzUHBienNsdVZ4MW1rN1lpdWZhRWZiWFBaX184MmgzckVhVlh3TGNQYTlGU1FZektyX1FjLVFlb2dHNlFaS3JpSWZjaTJZaldWekxBclduN0xKbjVhc2dsTjhNaW04dVJ4VVc1N2VLTmxwakVxUW84N2J1ZmJRUzBGYUNJbE5CdzZiWnBySUpQWFhwUGs0R3hOS0F0TkFwXzZ5bWgwSVF0RXdkcVpMM3RSaERBVm5DUzFIQkxaTVpOeG44OTJIS0FVbmtEaW1ZOXpDSURIZmx5SUdlSlFlWTNBNnZXeEotM3RTc28zbUpoM3U3eWpLYnJjQ2pFY0YyVzByblh3c2dURkhjZVlnT1RDUDAyRWVLbE1IN0w5SmJiU094NFRERG9WS2VreDhobUNLMGVvT0R3/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=VuNnd4VWCkYW4C4%2BIjTyxbjV2cI%3D&Expires=1758876410 securityworker stdout | 2025-09-26 08:36:50,174 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,174 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,174 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,174 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:50,174 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,174 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:50,174 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:50,175 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:50,175 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:50,175 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:50,175 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:50,175 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:50,175 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,175 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:36:50,175 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:36:50,175 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876410 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9 securityworker stdout | 2025-09-26 08:36:50,181 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ERXdMQ0pwWVhRaU9qRTNOVGc0TnpVNE1UQXNJbVY0Y0NJNk1UYzFPRGczTmpReE1Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4eU1pOHlNbVUwWkRFM01ESTVZMlkyTkRkbVpqVXdOV1ExTXpnNVltVTVNREF3Tm1WbVl6VmxaRFF4TnpoaFpXUTVZVFprTnprNFlUSmlaamRoTmpjMVptTTVQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFXZFU1dVpEUldWME5yV1ZjMFF6UWxNa0pKYWxSNWVHSnFWakpqU1NVelJDWkZlSEJwY21WelBURTNOVGc0TnpZME1UQWlMQ0pvYjNOMElqb2ljek11YjNCbGJuTm9hV1owTFhOMGIzSmhaMlV1YzNaakxtTnNkWE4wWlhJdWJHOWpZV3c2TkRReklpd2ljMk5vWlcxbElqb2lhSFIwY0hNaWZWMHNJbU52Ym5SbGVIUWlPbnQ5ZlEuSlM4d1V0cDYyTmJGNG1qa28xUk53bER0d2hYd3JmclYydnZJa1lzUHBienNsdVZ4MW1rN1lpdWZhRWZiWFBaX184MmgzckVhVlh3TGNQYTlGU1FZektyX1FjLVFlb2dHNlFaS3JpSWZjaTJZaldWekxBclduN0xKbjVhc2dsTjhNaW04dVJ4VVc1N2VLTmxwakVxUW84N2J1ZmJRUzBGYUNJbE5CdzZiWnBySUpQWFhwUGs0R3hOS0F0TkFwXzZ5bWgwSVF0RXdkcVpMM3RSaERBVm5DUzFIQkxaTVpOeG44OTJIS0FVbmtEaW1ZOXpDSURIZmx5SUdlSlFlWTNBNnZXeEotM3RTc28zbUpoM3U3eWpLYnJjQ2pFY0YyVzByblh3c2dURkhjZVlnT1RDUDAyRWVLbE1IN0w5SmJiU094NFRERG9WS2VreDhobUNLMGVvT0R3/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/22/22e4d17029cf647ff505d5389be90006efc5ed4178aed9a6d798a2bf7a675fc9?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=VuNnd4VWCkYW4C4%2BIjTyxbjV2cI%3D&Expires=1758876410 securityworker stdout | 2025-09-26 08:36:50,181 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,181 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,181 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,181 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:50,181 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,182 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:50,182 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:50,182 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:50,182 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:50,182 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:50,182 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:50,182 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:50,182 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,182 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:36:50,182 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:36:50,182 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876410 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 securityworker stdout | 2025-09-26 08:36:50,188 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ERXdMQ0pwWVhRaU9qRTNOVGc0TnpVNE1UQXNJbVY0Y0NJNk1UYzFPRGczTmpReE1Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE15OWhNMlZrT1RWallXVmlNREptWm1VMk9HTmtaRGxtWkRnME5EQTJOamd3WVdVNU0yUTJNek5qWWpFMk5ESXlaREF3WlRoaE4yTXlNamsxTldJME5tUTBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFoVGt4a0pUSkdiamhLTjBzbE1rSnlXV2hLT1hrMVdUSnVPVlYyVW5ORkpUTkVKa1Y0Y0dseVpYTTlNVGMxT0RnM05qUXhNQ0lzSW1odmMzUWlPaUp6TXk1dmNHVnVjMmhwWm5RdGMzUnZjbUZuWlM1emRtTXVZMngxYzNSbGNpNXNiMk5oYkRvME5ETWlMQ0p6WTJobGJXVWlPaUpvZEhSd2N5SjlYU3dpWTI5dWRHVjRkQ0k2ZTMxOS5aY3ZpNTNwU29FWWVuVUVVZWU2cnhGY0tfZTdNSzNGc2VhZzBXY2lkR2prNXMyNC1LNlI4WkNiTjIxcFZMMGNBLV91T2YzUXFzaVpFdDZzay1rekYwVUVYbklONmIzWjE0c21xWDJlcTJtdWRYcVpkZTAzSG9yd1ZwcVRZLTBCRmNGd1dxVW9INjFRM0N4cjhCTXM0bkRDUnhJWlItREhoeUdOdExBeWs1a2Exd0ZYejNWNWpzd281ZnN2VEticE5CamMxcGRZVEgwZXB5aUktNlF3Mk5mYjlHTkI1d0Y0blp0M2dLbnlTQnBFOUcyTFBxRTVtaTRmdUs1dlM0TjZSVFROM09jY1lQSHlOSEEwZWZSSHVfcFJFX1UzbEQ5d2ZXYXZCS01fbmE5ZXpaeGpFTGJRQUdhSkJNeXUtckFBM0x1UVVaeDJCbmdIS0hnVWtoNjgwRGc=/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=aNLd%2Fn8J7K%2BrYhJ9y5Y2n9UvRsE%3D&Expires=1758876410 securityworker stdout | 2025-09-26 08:36:50,188 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,188 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,188 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,188 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:50,188 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,188 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:50,189 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:50,189 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:50,189 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:50,189 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:50,189 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:50,189 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:50,189 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:50,189 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:36:50,189 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:36:50,189 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876410 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 securityworker stdout | 2025-09-26 08:36:50,195 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ERXdMQ0pwWVhRaU9qRTNOVGc0TnpVNE1UQXNJbVY0Y0NJNk1UYzFPRGczTmpReE1Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE15OWhNMlZrT1RWallXVmlNREptWm1VMk9HTmtaRGxtWkRnME5EQTJOamd3WVdVNU0yUTJNek5qWWpFMk5ESXlaREF3WlRoaE4yTXlNamsxTldJME5tUTBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFoVGt4a0pUSkdiamhLTjBzbE1rSnlXV2hLT1hrMVdUSnVPVlYyVW5ORkpUTkVKa1Y0Y0dseVpYTTlNVGMxT0RnM05qUXhNQ0lzSW1odmMzUWlPaUp6TXk1dmNHVnVjMmhwWm5RdGMzUnZjbUZuWlM1emRtTXVZMngxYzNSbGNpNXNiMk5oYkRvME5ETWlMQ0p6WTJobGJXVWlPaUpvZEhSd2N5SjlYU3dpWTI5dWRHVjRkQ0k2ZTMxOS5aY3ZpNTNwU29FWWVuVUVVZWU2cnhGY0tfZTdNSzNGc2VhZzBXY2lkR2prNXMyNC1LNlI4WkNiTjIxcFZMMGNBLV91T2YzUXFzaVpFdDZzay1rekYwVUVYbklONmIzWjE0c21xWDJlcTJtdWRYcVpkZTAzSG9yd1ZwcVRZLTBCRmNGd1dxVW9INjFRM0N4cjhCTXM0bkRDUnhJWlItREhoeUdOdExBeWs1a2Exd0ZYejNWNWpzd281ZnN2VEticE5CamMxcGRZVEgwZXB5aUktNlF3Mk5mYjlHTkI1d0Y0blp0M2dLbnlTQnBFOUcyTFBxRTVtaTRmdUs1dlM0TjZSVFROM09jY1lQSHlOSEEwZWZSSHVfcFJFX1UzbEQ5d2ZXYXZCS01fbmE5ZXpaeGpFTGJRQUdhSkJNeXUtckFBM0x1UVVaeDJCbmdIS0hnVWtoNjgwRGc=/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=aNLd%2Fn8J7K%2BrYhJ9y5Y2n9UvRsE%3D&Expires=1758876410 securityworker stdout | 2025-09-26 08:36:50,196 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:36:50,196 [89] [DEBUG] [util.secscan.v4.api] POSTing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_report logrotateworker stdout | 2025-09-26 08:36:50,287 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} gunicorn-registry stdout | 2025-09-26 08:36:50,399 [250] [DEBUG] [app] Starting request: urn:request:7520a4cf-1367-4de7-8d28-1c2ec3c1d77c (/v2/testorg/alpine/blobs/sha256:c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:50,399 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:50,399 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:50,399 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:50,400 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:50,400 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:50,400 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:50,400 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:50,400 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:50,401 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:50,405 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:50,409 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:50,409 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993_2 gunicorn-registry stdout | 2025-09-26 08:36:50,410 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:50,410 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:50,414 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:50,418 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:50,421 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:50,426 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:50,430 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993_2: None gunicorn-registry stdout | 2025-09-26 08:36:50,430 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993_2: None gunicorn-registry stdout | 2025-09-26 08:36:50,430 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:50,430 [250] [DEBUG] [app] Ending request: urn:request:7520a4cf-1367-4de7-8d28-1c2ec3c1d77c (/v2/testorg/alpine/blobs/sha256:c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:7520a4cf-1367-4de7-8d28-1c2ec3c1d77c', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993', 'path': '/v2/testorg/alpine/blobs/sha256:c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:50,430 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:50,431 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:50,431 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:50 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:50 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.033 1714 0.033) gunicorn-registry stdout | 2025-09-26 08:36:50,472 [250] [DEBUG] [app] Starting request: urn:request:46593ce9-24b6-40bf-a698-36e2600d7f01 (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:50,472 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:50,472 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:50,472 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:50,473 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:50,473 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:50,473 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:50,473 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:50,473 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:50,474 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:50,478 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:50,481 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:50,485 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:50,488 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:50,492 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:50,495 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:50,499 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:50,502 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, 'ea35af57-5501-4442-a095-14d081c13898', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 50, 502242)]) gunicorn-registry stdout | 2025-09-26 08:36:50,507 [250] [DEBUG] [app] Ending request: urn:request:46593ce9-24b6-40bf-a698-36e2600d7f01 (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:46593ce9-24b6-40bf-a698-36e2600d7f01', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:50,507 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:50,507 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:50 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.036 1693 0.037) gunicorn-registry stdout | 2025-09-26 08:36:50,508 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:50 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" gunicorn-web stdout | 2025-09-26 08:36:50,708 [242] [DEBUG] [app] Starting request: urn:request:d4a13d33-7dc7-44d3-943c-f8e2c07262db (/_storage_proxy_auth) {'X-Forwarded-For': '3.131.182.156'} gunicorn-web stdout | 2025-09-26 08:36:50,708 [242] [DEBUG] [storage.downloadproxy] Got token b'eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODEwLCJpYXQiOjE3NTg4NzU4MTAsImV4cCI6MTc1ODg3NjQxMCwic3ViIjoic3RvcmFnZXByb3h5IiwiYWNjZXNzIjpbeyJ0eXBlIjoic3RvcmFnZXByb3h5IiwidXJpIjoicXVheS1kYXRhc3RvcmUtZTI5YzM5OTQtNjJlYi00ZTlmLTk1NTAtYmFhMTFmODc0MDg0L2RhdGFzdG9yYWdlL3JlZ2lzdHJ5L3NoYTI1Ni82MS82MTEwMTQ5NTVlNzM0ZWU0YjZkZjJkNzBlNTBlYTVlZjk3OWZkMzJkNmRhODBiZDRmMWMyOWE0MmEzOWRkNzM1P0FXU0FjY2Vzc0tleUlkPUtxVUFodjYwQUdsQUREcTBNY0taJlNpZ25hdHVyZT1maUFuRjdiT0lMODZWb1h5U0tOMkVDY0U4bHclM0QmRXhwaXJlcz0xNzU4ODc2NDEwIiwiaG9zdCI6InMzLm9wZW5zaGlmdC1zdG9yYWdlLnN2Yy5jbHVzdGVyLmxvY2FsOjQ0MyIsInNjaGVtZSI6Imh0dHBzIn1dLCJjb250ZXh0Ijp7fX0.BueqGLPs2oAAWOcTSjn5T8lc36yzx9-5HDcDXw3Bdbx6MLR4b6x-jHZ-m0hMrP5uvSYUy0CCEd1bH-FfHOUGYUHz6Dc8MSArB1l-gXnyP82yzbekxmhXegoSZjdKb7a9SnxrDs7v7knU68mPm9eNhCmv1MgU3R6tjgHxMiTCGJPmByO_qlowYDdmQ0ZF3sJMkRaVb6MIwkDPCk8vMKSvwa60PFJJZAo4nLbaFT50JLXKr-v4Ovdp76xmjyL1Hjqr9yqfS5oCez2fY4WRpE-rfIMb1qcjOLJ0ZHeDDapj6aMZpqvpF4PclfFxtcG4l3M22To2yckgoH5HOn1X_7pRgA' for storage proxy auth request /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ERXdMQ0pwWVhRaU9qRTNOVGc0TnpVNE1UQXNJbVY0Y0NJNk1UYzFPRGczTmpReE1Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4Mk1TODJNVEV3TVRRNU5UVmxOek0wWldVMFlqWmtaakprTnpCbE5UQmxZVFZsWmprM09XWmtNekprTm1SaE9EQmlaRFJtTVdNeU9XRTBNbUV6T1dSa056TTFQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFtYVVGdVJqZGlUMGxNT0RaV2IxaDVVMHRPTWtWRFkwVTRiSGNsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRFd0lpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuQnVlcUdMUHMyb0FBV09jVFNqbjVUOGxjMzZ5eng5LTVIRGNEWHczQmRieDZNTFI0YjZ4LWpIWi1tMGhNclA1dXZTWVV5MENDRWQxYkgtRmZIT1VHWVVIejZEYzhNU0FyQjFsLWdYbnlQODJ5emJla3htaFhlZ29TWmpkS2I3YTlTbnhyRHM3djdrblU2OG1QbTllTmhDbXYxTWdVM1I2dGpnSHhNaVRDR0pQbUJ5T19xbG93WURkbVEwWkYzc0pNa1JhVmI2TUl3a0RQQ2s4dk1LU3Z3YTYwUEZKSlpBbzRuTGJhRlQ1MEpMWEtyLXY0T3ZkcDc2eG1qeUwxSGpxcjl5cWZTNW9DZXoyZlk0V1JwRS1yZklNYjFxY2pPTEowWkhlRERhcGo2YU1acHF2cEY0UGNsZkZ4dGNHNGwzTTIyVG8yeWNrZ29INUhPbjFYXzdwUmdB/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=fiAnF7bOIL86VoXySKN2ECcE8lw%3D&Expires=1758876410 with parts ['ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ERXdMQ0pwWVhRaU9qRTNOVGc0TnpVNE1UQXNJbVY0Y0NJNk1UYzFPRGczTmpReE1Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4Mk1TODJNVEV3TVRRNU5UVmxOek0wWldVMFlqWmtaakprTnpCbE5UQmxZVFZsWmprM09XWmtNekprTm1SaE9EQmlaRFJtTVdNeU9XRTBNbUV6T1dSa056TTFQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFtYVVGdVJqZGlUMGxNT0RaV2IxaDVVMHRPTWtWRFkwVTRiSGNsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRFd0lpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuQnVlcUdMUHMyb0FBV09jVFNqbjVUOGxjMzZ5eng5LTVIRGNEWHczQmRieDZNTFI0YjZ4LWpIWi1tMGhNclA1dXZTWVV5MENDRWQxYkgtRmZIT1VHWVVIejZEYzhNU0FyQjFsLWdYbnlQODJ5emJla3htaFhlZ29TWmpkS2I3YTlTbnhyRHM3djdrblU2OG1QbTllTmhDbXYxTWdVM1I2dGpnSHhNaVRDR0pQbUJ5T19xbG93WURkbVEwWkYzc0pNa1JhVmI2TUl3a0RQQ2s4dk1LU3Z3YTYwUEZKSlpBbzRuTGJhRlQ1MEpMWEtyLXY0T3ZkcDc2eG1qeUwxSGpxcjl5cWZTNW9DZXoyZlk0V1JwRS1yZklNYjFxY2pPTEowWkhlRERhcGo2YU1acHF2cEY0UGNsZkZ4dGNHNGwzTTIyVG8yeWNrZ29INUhPbjFYXzdwUmdB', 'https', 's3.openshift-storage.svc.cluster.local:443', 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=fiAnF7bOIL86VoXySKN2ECcE8lw%3D&Expires=1758876410'] gunicorn-web stdout | 2025-09-26 08:36:50,710 [242] [DEBUG] [app] Ending request: urn:request:d4a13d33-7dc7-44d3-943c-f8e2c07262db (/_storage_proxy_auth) {'endpoint': '_storage_proxy_auth', 'request_id': 'urn:request:d4a13d33-7dc7-44d3-943c-f8e2c07262db', 'remote_addr': '3.131.182.156', 'http_method': 'GET', 'original_url': 'https://web_app_server/_storage_proxy_auth', 'path': '/_storage_proxy_auth', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Go-http-client/1.1'} gunicorn-web stdout | 2025-09-26 08:36:50,710 [242] [INFO] [gunicorn.access] 3.131.182.156 - - [26/Sep/2025:08:36:50 +0000] "GET /_storage_proxy_auth HTTP/1.0" 200 2 "-" "Go-http-client/1.1" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:50 +0000] "GET /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ERXdMQ0pwWVhRaU9qRTNOVGc0TnpVNE1UQXNJbVY0Y0NJNk1UYzFPRGczTmpReE1Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4Mk1TODJNVEV3TVRRNU5UVmxOek0wWldVMFlqWmtaakprTnpCbE5UQmxZVFZsWmprM09XWmtNekprTm1SaE9EQmlaRFJtTVdNeU9XRTBNbUV6T1dSa056TTFQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFtYVVGdVJqZGlUMGxNT0RaV2IxaDVVMHRPTWtWRFkwVTRiSGNsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRFd0lpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuQnVlcUdMUHMyb0FBV09jVFNqbjVUOGxjMzZ5eng5LTVIRGNEWHczQmRieDZNTFI0YjZ4LWpIWi1tMGhNclA1dXZTWVV5MENDRWQxYkgtRmZIT1VHWVVIejZEYzhNU0FyQjFsLWdYbnlQODJ5emJla3htaFhlZ29TWmpkS2I3YTlTbnhyRHM3djdrblU2OG1QbTllTmhDbXYxTWdVM1I2dGpnSHhNaVRDR0pQbUJ5T19xbG93WURkbVEwWkYzc0pNa1JhVmI2TUl3a0RQQ2s4dk1LU3Z3YTYwUEZKSlpBbzRuTGJhRlQ1MEpMWEtyLXY0T3ZkcDc2eG1qeUwxSGpxcjl5cWZTNW9DZXoyZlk0V1JwRS1yZklNYjFxY2pPTEowWkhlRERhcGo2YU1acHF2cEY0UGNsZkZ4dGNHNGwzTTIyVG8yeWNrZ29INUhPbjFYXzdwUmdB/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/61/611014955e734ee4b6df2d70e50ea5ef979fd32d6da80bd4f1c29a42a39dd735?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=fiAnF7bOIL86VoXySKN2ECcE8lw%3D&Expires=1758876410 HTTP/1.1" 200 1823 "-" "Go-http-client/1.1" (0.021 2405 0.018) exportactionlogsworker stdout | 2025-09-26 08:36:50,940 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:36:50,940 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:36:56.945132+00:00 (in 6.004418 seconds) exportactionlogsworker stdout | 2025-09-26 08:36:50,940 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:50 GMT)" (scheduled at 2025-09-26 08:36:50.940190+00:00) exportactionlogsworker stdout | 2025-09-26 08:36:50,941 [56] [DEBUG] [workers.queueworker] Getting work item from queue. exportactionlogsworker stdout | 2025-09-26 08:36:50,941 [56] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 36, 50, 941086), True, datetime.datetime(2025, 9, 26, 8, 36, 50, 941086), 0, 'exportactionlogs/%', 50, 1, 0]) exportactionlogsworker stdout | 2025-09-26 08:36:50,956 [56] [DEBUG] [workers.queueworker] No more work. exportactionlogsworker stdout | 2025-09-26 08:36:50,956 [56] [DEBUG] [data.database] Disconnecting from database. exportactionlogsworker stdout | 2025-09-26 08:36:50,956 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:50 GMT)" executed successfully buildlogsarchiver stdout | 2025-09-26 08:36:51,380 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'} gcworker stdout | 2025-09-26 08:36:51,444 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:36:51,444 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:04.439268+00:00 (in 12.994433 seconds) gcworker stdout | 2025-09-26 08:36:51,445 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:21 GMT)" (scheduled at 2025-09-26 08:36:51.444401+00:00) gcworker stdout | 2025-09-26 08:36:51,445 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) gcworker stdout | 2025-09-26 08:36:51,458 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875511458, None, 1, 0]) gcworker stdout | 2025-09-26 08:36:51,463 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:36:51,463 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:21 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:36:51,495 [257] [DEBUG] [app] Starting request: urn:request:3d347cd4-c7d1-4618-b427-159ce4c8e302 (/v2/testorg/alpine/blobs/sha256:957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:51,495 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:51,495 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:51,495 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:51,496 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:51,496 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:51,496 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:51,496 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:51,496 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:51,497 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,501 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,504 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:51,504 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c_2 gunicorn-registry stdout | 2025-09-26 08:36:51,505 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:51,505 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,509 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,513 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,516 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,521 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,524 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c_2: None gunicorn-registry stdout | 2025-09-26 08:36:51,524 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c_2: None gunicorn-registry stdout | 2025-09-26 08:36:51,524 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:51,525 [257] [DEBUG] [app] Ending request: urn:request:3d347cd4-c7d1-4618-b427-159ce4c8e302 (/v2/testorg/alpine/blobs/sha256:957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:3d347cd4-c7d1-4618-b427-159ce4c8e302', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c', 'path': '/v2/testorg/alpine/blobs/sha256:957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:51,525 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:51,525 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:51,525 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:51 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:51 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.031 1714 0.031) gunicorn-registry stdout | 2025-09-26 08:36:51,568 [250] [DEBUG] [app] Starting request: urn:request:145f9db4-9641-4100-96f0-d1c9c39e6e98 (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:51,568 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:51,568 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:51,568 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:51,569 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:51,569 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:51,569 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:51,569 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:51,569 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:51,570 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,575 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,579 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,583 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,587 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,591 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,594 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:51,598 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,601 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, '4f43f4a6-44dd-4a51-b19a-bde026627796', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 51, 601068)]) gunicorn-registry stdout | 2025-09-26 08:36:51,605 [250] [DEBUG] [app] Ending request: urn:request:145f9db4-9641-4100-96f0-d1c9c39e6e98 (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:145f9db4-9641-4100-96f0-d1c9c39e6e98', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:51,606 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:51,606 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:51,606 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:51 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:51 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.039 1693 0.039) gunicorn-registry stdout | 2025-09-26 08:36:51,648 [250] [DEBUG] [app] Starting request: urn:request:2b18b6ec-162d-4f18-a038-ef5190b9b6f4 (/v2/testorg/alpine/blobs/uploads/4f43f4a6-44dd-4a51-b19a-bde026627796) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:51,648 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '4f43f4a6-44dd-4a51-b19a-bde026627796', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:51,648 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:51,648 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:51,649 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:51,649 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:51,649 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:51,649 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:51,649 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:51,650 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,654 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,657 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,661 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,664 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,668 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,672 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,675 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:51,679 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['4f43f4a6-44dd-4a51-b19a-bde026627796', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,682 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:51,682 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:51,683 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:51,684 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:51,684 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:51,684 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,684 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,684 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,684 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,685 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:51,685 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,685 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,685 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:51,685 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:51,685 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:51,685 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:51,685 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:51,685 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,685 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,685 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,685 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:51,685 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:51,685 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:51,685 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,685 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,686 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:51,686 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083651Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:51,686 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083651Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 65a907e0f5aff0dda01872aa00c413933285bc2a04ad1673cfd845a660c5032d gunicorn-registry stdout | 2025-09-26 08:36:51,686 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b2568f15f82b9b75035c5990ce7336c144e2279df1426f3aa3d6eefecd8aec98 gunicorn-registry stdout | 2025-09-26 08:36:51,686 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,686 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:51,686 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:51,692 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:51,692 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8u3s-e56oqn-djt', 'x-amz-id-2': 'mg0l8u3s-e56oqn-djt', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:51 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:51,692 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba97168d650a3d73ec60008f933fe' gunicorn-registry stdout | 2025-09-26 08:36:51,692 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,692 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:51,692 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:51,693 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8u3s-e56oqn-djt', 'HostId': 'mg0l8u3s-e56oqn-djt', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8u3s-e56oqn-djt', 'x-amz-id-2': 'mg0l8u3s-e56oqn-djt', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:51 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971', 'UploadId': '68d650a3d73ec60008f933fe'} gunicorn-registry stdout | 2025-09-26 08:36:51,693 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:51,694 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:51,694 [250] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:51,694 [250] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971', 'UploadId': '68d650a3d73ec60008f933fe', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50da9f010>, 'ContentLength': 576} gunicorn-registry stdout | 2025-09-26 08:36:51,694 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,694 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,694 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,694 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,694 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:51,694 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,694 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,694 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:51,694 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:51,694 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:51,694 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:51,695 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:51,695 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,695 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,695 [250] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:51,695 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,695 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,695 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971', 'query_string': {'uploadId': '68d650a3d73ec60008f933fe', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '576', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'h1VnXTgQ2E8Wj35l0sa8Ig==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50da9f010>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971?uploadId=68d650a3d73ec60008f933fe&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971', 'UploadId': '68d650a3d73ec60008f933fe', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50da9f010>, 'ContentLength': 576}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:51,695 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:51,695 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:51,695 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,695 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,695 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:51,695 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971 gunicorn-registry stdout | partNumber=1&uploadId=68d650a3d73ec60008f933fe gunicorn-registry stdout | content-length:576 gunicorn-registry stdout | content-md5:h1VnXTgQ2E8Wj35l0sa8Ig== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083651Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:51,695 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083651Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 3ce992a9930dc072d5a98adadab2335e36e620c610eeda77f11c47afd4903f82 gunicorn-registry stdout | 2025-09-26 08:36:51,696 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 98df6f86a735bee46ac4267f9cefe7fea6bc3baf4576d0011f5d5bf3ab2450bb gunicorn-registry stdout | 2025-09-26 08:36:51,696 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,696 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:51,696 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:51,697 [250] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:51,697 [250] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:36:51,777 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971?uploadId=68d650a3d73ec60008f933fe&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:51,777 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8u41-eaqa1l-g7k', 'x-amz-id-2': 'mg0l8u41-eaqa1l-g7k', 'ETag': '"8755675d3810d84f168f7e65d2c6bc22"', 'Date': 'Fri, 26 Sep 2025 08:36:51 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:51,777 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:51,777 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,777 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:51,777 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:51,778 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8u41-eaqa1l-g7k', 'HostId': 'mg0l8u41-eaqa1l-g7k', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8u41-eaqa1l-g7k', 'x-amz-id-2': 'mg0l8u41-eaqa1l-g7k', 'etag': '"8755675d3810d84f168f7e65d2c6bc22"', 'date': 'Fri, 26 Sep 2025 08:36:51 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"8755675d3810d84f168f7e65d2c6bc22"'} gunicorn-registry stdout | 2025-09-26 08:36:51,778 [250] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971', 'UploadId': '68d650a3d73ec60008f933fe', 'MultipartUpload': {'Parts': [{'ETag': '"8755675d3810d84f168f7e65d2c6bc22"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:36:51,778 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,778 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,778 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,778 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:51,778 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,778 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,778 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:51,779 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:51,779 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:51,779 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:51,779 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:51,779 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,779 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,779 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,779 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971', 'query_string': {'uploadId': '68d650a3d73ec60008f933fe'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"8755675d3810d84f168f7e65d2c6bc22"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971?uploadId=68d650a3d73ec60008f933fe', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971', 'UploadId': '68d650a3d73ec60008f933fe', 'MultipartUpload': {'Parts': [{'ETag': '"8755675d3810d84f168f7e65d2c6bc22"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:51,779 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:51,779 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:51,779 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,779 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,780 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:51,780 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971 gunicorn-registry stdout | uploadId=68d650a3d73ec60008f933fe gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:b435a705f470e0265e7f5ee836240fb9de8de04dd92b19f5e8f17965ecfb68df gunicorn-registry stdout | x-amz-date:20250926T083651Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | b435a705f470e0265e7f5ee836240fb9de8de04dd92b19f5e8f17965ecfb68df gunicorn-registry stdout | 2025-09-26 08:36:51,780 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083651Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4a2c682ee22aed5357f415443c7b44b53c5ce27f8d9983454d06172ee38f195b gunicorn-registry stdout | 2025-09-26 08:36:51,780 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 7849b3ed3dfead7094af02854c43824279e8277493859d92cffeff6b0777c273 gunicorn-registry stdout | 2025-09-26 08:36:51,780 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,780 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:51,780 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:51,796 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971?uploadId=68d650a3d73ec60008f933fe HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:36:51,796 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8u6d-fosge2-8f0', 'x-amz-id-2': 'mg0l8u6d-fosge2-8f0', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:36:51 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:51,796 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971"ad3471c562bc7fd7ea9b64d2c5eaf89d-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971?uploadId=68d650a3d73ec60008f933fe' gunicorn-registry stdout | 2025-09-26 08:36:51,796 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,796 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:51,796 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:51,796 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:51,797 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8u6d-fosge2-8f0', 'HostId': 'mg0l8u6d-fosge2-8f0', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8u6d-fosge2-8f0', 'x-amz-id-2': 'mg0l8u6d-fosge2-8f0', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:36:51 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971?uploadId=68d650a3d73ec60008f933fe', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971', 'ETag': '"ad3471c562bc7fd7ea9b64d2c5eaf89d-1"'} gunicorn-registry stdout | 2025-09-26 08:36:51,797 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:51,798 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:51,798 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 576 bytes to blob 4f43f4a6-44dd-4a51-b19a-bde026627796 took 0.11519861221313477 seconds gunicorn-registry stdout | 2025-09-26 08:36:51,798 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['4f43f4a6-44dd-4a51-b19a-bde026627796', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:51,802 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '4f43f4a6-44dd-4a51-b19a-bde026627796', 576, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwOGQwNTU2NTUwZjcyZTQ1MTExZjlhZWMxYmEzNzliMjQ4NjNkZGZlNDczMDdhMDk1ZTIxNzJiZjAxMGFmIl19fQAAAAAAAAAAABIAAAAAAAC3DmlfrZhpIIW4uNNvedJze8b9aZqymWtPm0Hx+j++VpRiLg==', 9, '{"chunks": [["uploads/9f5f586b-5b5e-4417-bd4c-e527437ba971", 0, 576]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 36, 51, 601068), None, None, 28]) gunicorn-registry stdout | 2025-09-26 08:36:51,807 [250] [DEBUG] [app] Ending request: urn:request:2b18b6ec-162d-4f18-a038-ef5190b9b6f4 (/v2/testorg/alpine/blobs/uploads/4f43f4a6-44dd-4a51-b19a-bde026627796) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:2b18b6ec-162d-4f18-a038-ef5190b9b6f4', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/4f43f4a6-44dd-4a51-b19a-bde026627796', 'path': '/v2/testorg/alpine/blobs/uploads/4f43f4a6-44dd-4a51-b19a-bde026627796', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:51,808 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:51,808 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:51,808 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:51 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/4f43f4a6-44dd-4a51-b19a-bde026627796 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:51 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/4f43f4a6-44dd-4a51-b19a-bde026627796 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.162 2348 0.161) securityworker stdout | 2025-09-26 08:36:51,917 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "POST /indexer/api/v1/index_report HTTP/1.1" 201 None securityworker stdout | 2025-09-26 08:36:51,920 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."manifest_id", "t1"."repository_id", "t1"."index_status", "t1"."error_json", "t1"."last_indexed", "t1"."indexer_hash", "t1"."indexer_version", "t1"."metadata_json" FROM "manifestsecuritystatus" AS "t1" WHERE ("t1"."manifest_id" = %s) LIMIT %s OFFSET %s', [6, 1, 0]) securityworker stdout | 2025-09-26 08:36:51,924 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE ("t1"."manifest_id" = %s) LIMIT %s OFFSET %s', [6, 1, 0]) securityworker stdout | 2025-09-26 08:36:51,928 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:36:51,928 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/matcher/api/v1/vulnerability_report/sha256:0b762e487f7a8eb308da049b9a1edfaef7345f847399c27899d49c10e9c325b9 securityworker stdout | 2025-09-26 08:36:51,999 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /matcher/api/v1/vulnerability_report/sha256:0b762e487f7a8eb308da049b9a1edfaef7345f847399c27899d49c10e9c325b9 HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:36:52,005 [89] [DEBUG] [data.secscan_model.secscan_v4_model] Attempting to create notifications for manifest #6 securityworker stdout | 2025-09-26 08:36:52,006 [89] [DEBUG] [peewee] ('DELETE FROM "manifestsecuritystatus" WHERE ("manifestsecuritystatus"."manifest_id" = %s)', [6]) securityworker stdout | 2025-09-26 08:36:52,009 [89] [DEBUG] [peewee] ('INSERT INTO "manifestsecuritystatus" ("manifest_id", "repository_id", "index_status", "error_json", "last_indexed", "indexer_hash", "indexer_version", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifestsecuritystatus"."id"', [6, 2, 2, '""', datetime.datetime(2025, 9, 26, 8, 36, 52, 8748), '37b46b4a70b6f1a19d5e4e18d21f57ff', 4, '{}']) securityworker stdout | 2025-09-26 08:36:52,013 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [7, 1, 0]) securityworker stdout | 2025-09-26 08:36:52,019 [89] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07', 1, 0]) securityworker stdout | 2025-09-26 08:36:52,023 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['14468196-ae3a-4490-a631-eab752452e6a']) securityworker stdout | 2025-09-26 08:36:52,026 [89] [DEBUG] [boto3.resources.factory] Loading s3:Object securityworker stdout | 2025-09-26 08:36:52,027 [89] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7f614e757ec0> securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07'} securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,028 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,029 [89] [DEBUG] [botocore.auth] Calculating signature using v4 auth. securityworker stdout | 2025-09-26 08:36:52,029 [89] [DEBUG] [botocore.auth] CanonicalRequest: securityworker stdout | GET securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07 securityworker stdout | host:s3.openshift-storage.svc.cluster.local securityworker stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | x-amz-date:20250926T083652Z securityworker stdout | host;x-amz-content-sha256;x-amz-date securityworker stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | 2025-09-26 08:36:52,029 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | AWS4-HMAC-SHA256 securityworker stdout | 20250926T083652Z securityworker stdout | 20250926/us-east-1/s3/aws4_request securityworker stdout | b6bf96739c6dec13ff28d3612285a4b573429dfec2c0c1710d56584ad50e7bbf securityworker stdout | 2025-09-26 08:36:52,029 [89] [DEBUG] [botocore.auth] Signature: securityworker stdout | 7e3527ea86e1228d20450bd786558189d47b83a79392d799bdad834fcdedfb67 securityworker stdout | 2025-09-26 08:36:52,029 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,029 [89] [DEBUG] [botocore.endpoint] Sending http request: securityworker stdout | 2025-09-26 08:36:52,029 [89] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem securityworker stdout | 2025-09-26 08:36:52,045 [89] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/48/48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07 HTTP/1.1" 200 241 securityworker stdout | 2025-09-26 08:36:52,045 [89] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8udb-3a2l6i-w3u', 'x-amz-id-2': 'mg0l8udb-3a2l6i-w3u', 'ETag': '"3121b88a3c6c2de99e86fe4710f17176-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:45 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:52 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} securityworker stdout | 2025-09-26 08:36:52,046 [89] [DEBUG] [botocore.parsers] Response body: securityworker stdout | securityworker stdout | 2025-09-26 08:36:52,046 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,046 [89] [DEBUG] [botocore.retryhandler] No retry needed. securityworker stdout | 2025-09-26 08:36:52,046 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:52,046 [89] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8udb-3a2l6i-w3u', 'HostId': 'mg0l8udb-3a2l6i-w3u', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8udb-3a2l6i-w3u', 'x-amz-id-2': 'mg0l8udb-3a2l6i-w3u', 'etag': '"3121b88a3c6c2de99e86fe4710f17176-1"', 'last-modified': 'Fri, 26 Sep 2025 08:36:45 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:36:52 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 36, 45, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"3121b88a3c6c2de99e86fe4710f17176-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } securityworker stdout | 2025-09-26 08:36:52,049 [89] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL ((SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "manifestblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1") UNION ALL (SELECT * FROM (SELECT "t5"."id", "t5"."content_checksum", "t5"."image_size", "t5"."uuid", "t5"."cas_path", "t5"."uncompressed_size" FROM "imagestorage" AS "t5" INNER JOIN "manifestblob" AS "t6" ON ("t6"."blob_id" = "t5"."id") WHERE (("t6"."repository_id" = %s) AND ("t5"."content_checksum" = %s)) LIMIT %s) AS "q2"))', [2, 'sha256:3032b259f8109e3849ca23c23e8a8e9749a57d7ec26c7d53181220442b7fd7ba', 1, 2, 'sha256:90d9ddc482be902a6ac1f0d27326597273595d46c7557771af2f3bd8b90853d1', 1, 2, 'sha256:48524b92080ff6c6e895f280246e59de8de80ee86754a5fd012d7cc6ff4f8e07', 1]) gunicorn-registry stdout | 2025-09-26 08:36:52,053 [250] [DEBUG] [app] Starting request: urn:request:82c22747-63f8-4b86-9cd5-fb29e4af49ba (/v2/testorg/alpine/manifests/sha256:af11d8e82a84ada96b5af358e796120e1c83f685d077b25ec05af8e6bc8827b6) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:52,054 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:af11d8e82a84ada96b5af358e796120e1c83f685d077b25ec05af8e6bc8827b6', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:52,054 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:52,054 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw securityworker stdout | 2025-09-26 08:36:52,053 [89] [ERROR] [data.registry_model.registry_oci_model] Could not list manifest layers `7` securityworker stdout | Traceback (most recent call last): securityworker stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 666, in list_manifest_layers securityworker stdout | layers = self._list_manifest_layers( securityworker stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ securityworker stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 1263, in _list_manifest_layers securityworker stdout | for layer in layers: securityworker stdout | ^^^^^^ securityworker stdout | File "/quay-registry/image/oci/manifest.py", line 308, in get_layers securityworker stdout | command=image_layer.history.command, securityworker stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ securityworker stdout | AttributeError: 'NoneType' object has no attribute 'command' gunicorn-registry stdout | 2025-09-26 08:36:52,055 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:52,055 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:52,055 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:52,055 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:52,055 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine securityworker stdout | 2025-09-26 08:36:52,056 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,058 [250] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:36:52,058 [250] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:36:52,058 [250] [DEBUG] [data.cache.impl] Found result in cache for key repository_lookup_testorg_alpine: {'id': 2, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': 0, 'namespace_user': {'stripe_id': None}} securityworker stdout | 2025-09-26 08:36:52,060 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,060 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:af11d8e82a84ada96b5af358e796120e1c83f685d077b25ec05af8e6bc8827b6', 1, 0]) securityworker stdout | 2025-09-26 08:36:52,063 [89] [WARNING] [data.secscan_model.secscan_v4_model] Cannot index 3/alpine@sha256:256ffbe4e66db68c5d3ecd54b64e5b341158a10659859a838647d1432ea6a30a due to manifest being invalid (manifest has no layers) securityworker stdout | 2025-09-26 08:36:52,063 [89] [DEBUG] [peewee] ('DELETE FROM "manifestsecuritystatus" WHERE (("manifestsecuritystatus"."manifest_id" = %s) AND ("manifestsecuritystatus"."repository_id" = %s))', [7, 2]) gunicorn-registry stdout | 2025-09-26 08:36:52,065 [250] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [2, 'sha256:c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993', 1, 2, 'sha256:957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c', 1]) securityworker stdout | 2025-09-26 08:36:52,066 [89] [DEBUG] [peewee] ('INSERT INTO "manifestsecuritystatus" ("manifest_id", "repository_id", "index_status", "error_json", "last_indexed", "indexer_hash", "indexer_version", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifestsecuritystatus"."id"', [7, 2, -2, '{}', datetime.datetime(2025, 9, 26, 8, 36, 52, 66037), 'none', 4, '{}']) gunicorn-registry stdout | 2025-09-26 08:36:52,069 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:af11d8e82a84ada96b5af358e796120e1c83f685d077b25ec05af8e6bc8827b6', 2, 1, 0]) securityworker stdout | 2025-09-26 08:36:52,070 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [8, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,073 [250] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [2, 'sha256:af11d8e82a84ada96b5af358e796120e1c83f685d077b25ec05af8e6bc8827b6', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c",\n "size": 576\n },\n "layers": [\n {\n "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",\n "digest": "sha256:c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993",\n "size": 3616029\n }\n ],\n "annotations": {\n "com.docker.official-images.bashbrew.arch": "i386",\n "org.opencontainers.image.base.name": "scratch",\n "org.opencontainers.image.created": "2025-05-30T16:20:41Z",\n "org.opencontainers.image.revision": "5213c5a71c73d39d5896657909e753effb1c05ff",\n "org.opencontainers.image.source": "https://github.com/alpinelinux/docker-alpine.git#5213c5a71c73d39d5896657909e753effb1c05ff:x86",\n "org.opencontainers.image.url": "https://hub.docker.com/_/alpine",\n "org.opencontainers.image.version": "3.22.0"\n }\n}', 'application/vnd.oci.image.config.v1+json', 3616029, None, True, None, True]) manifestsubjectbackfillworker stdout | 2025-09-26 08:36:52,074 [64] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestsubjectbackfillworker.py', 'pid': '64'} securityworker stdout | 2025-09-26 08:36:52,075 [89] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,076 [250] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [2, 10, 28, 2, 10, 29]) gunicorn-registry stdout | 2025-09-26 08:36:52,078 [250] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,079 [250] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [3, 1]) securityworker stdout | 2025-09-26 08:36:52,081 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['b127f3b2-f235-4bed-9538-a7fb3de0c3a9']) gunicorn-registry stdout | 2025-09-26 08:36:52,081 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 28, 10, 1]) gunicorn-registry stdout | 2025-09-26 08:36:52,083 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 29, 10, 1]) securityworker stdout | 2025-09-26 08:36:52,084 [89] [DEBUG] [boto3.resources.factory] Loading s3:Object securityworker stdout | 2025-09-26 08:36:52,085 [89] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7f614e757ec0> gunicorn-registry stdout | 2025-09-26 08:36:52,085 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) securityworker stdout | 2025-09-26 08:36:52,085 [89] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a'} securityworker stdout | 2025-09-26 08:36:52,085 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,085 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,085 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,085 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:52,085 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,085 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:52,085 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:52,085 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:52,085 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:52,086 [250] [INFO] [data.model.quota] updating namespace size for manifest 10 in namespace 3, QuotaOperation.ADD 3616605 securityworker stdout | 2025-09-26 08:36:52,086 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:52,086 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:52,086 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,086 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,086 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,086 [89] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} securityworker stdout | 2025-09-26 08:36:52,086 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:52,086 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:52,086 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,087 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:52,087 [250] [DEBUG] [peewee] ('UPDATE "quotanamespacesize" SET "size_bytes" = ("quotanamespacesize"."size_bytes" + %s) WHERE ("quotanamespacesize"."namespace_user_id" = %s)', [3616605, 3]) securityworker stdout | 2025-09-26 08:36:52,087 [89] [DEBUG] [botocore.auth] Calculating signature using v4 auth. securityworker stdout | 2025-09-26 08:36:52,087 [89] [DEBUG] [botocore.auth] CanonicalRequest: securityworker stdout | GET securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a securityworker stdout | host:s3.openshift-storage.svc.cluster.local securityworker stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | x-amz-date:20250926T083652Z securityworker stdout | host;x-amz-content-sha256;x-amz-date securityworker stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | 2025-09-26 08:36:52,087 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | AWS4-HMAC-SHA256 securityworker stdout | 20250926T083652Z securityworker stdout | 20250926/us-east-1/s3/aws4_request securityworker stdout | 360576bb0538f39e6a27572f9ef350924b9bdfff81b853ee8bcfe491781fca27 securityworker stdout | 2025-09-26 08:36:52,087 [89] [DEBUG] [botocore.auth] Signature: securityworker stdout | e519a44b9ca5770057f5ee4ac4ff1dfb2efab0e838c41f02cacb24f3926b37a3 securityworker stdout | 2025-09-26 08:36:52,087 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,087 [89] [DEBUG] [botocore.endpoint] Sending http request: securityworker stdout | 2025-09-26 08:36:52,087 [89] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:52,088 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,089 [250] [INFO] [data.model.quota] updating repository size for manifest 10 in repository 2, QuotaOperation.ADD 3616605 gunicorn-registry stdout | 2025-09-26 08:36:52,090 [250] [DEBUG] [peewee] ('UPDATE "quotarepositorysize" SET "size_bytes" = ("quotarepositorysize"."size_bytes" + %s) WHERE ("quotarepositorysize"."repository_id" = %s)', [3616605, 2]) gunicorn-registry stdout | 2025-09-26 08:36:52,091 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [10, None, 1758879412091, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,094 [250] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-a024a426-15b8-42f4-a5c6-38080e0ffdca', 2, 10, 1758875812091, 1758879412091, False, True, False, 1]) gunicorn-registry stdout | 2025-09-26 08:36:52,098 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c', 1, 0]) securityworker stdout | 2025-09-26 08:36:52,101 [89] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a HTTP/1.1" 200 597 securityworker stdout | 2025-09-26 08:36:52,102 [89] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8uew-485vgv-r2r', 'x-amz-id-2': 'mg0l8uew-485vgv-r2r', 'ETag': '"aa8f171de98f25e9144e08ebfa6bca6d-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:48 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '597', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:52 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} securityworker stdout | 2025-09-26 08:36:52,102 [89] [DEBUG] [botocore.parsers] Response body: securityworker stdout | gunicorn-registry stdout | 2025-09-26 08:36:52,102 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['1848f78c-1376-4017-bdff-fd937230ce74']) securityworker stdout | 2025-09-26 08:36:52,102 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,102 [89] [DEBUG] [botocore.retryhandler] No retry needed. securityworker stdout | 2025-09-26 08:36:52,102 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:52,103 [89] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8uew-485vgv-r2r', 'HostId': 'mg0l8uew-485vgv-r2r', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8uew-485vgv-r2r', 'x-amz-id-2': 'mg0l8uew-485vgv-r2r', 'etag': '"aa8f171de98f25e9144e08ebfa6bca6d-1"', 'last-modified': 'Fri, 26 Sep 2025 08:36:48 GMT', 'content-type': 'application/octet-stream', 'content-length': '597', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:36:52 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 36, 48, tzinfo=tzutc()), 'ContentLength': 597, 'ETag': '"aa8f171de98f25e9144e08ebfa6bca6d-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } securityworker stdout | 2025-09-26 08:36:52,106 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,106 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:52,107 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:52,107 [250] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/95/957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c'} gunicorn-registry stdout | 2025-09-26 08:36:52,107 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:52,107 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:52,107 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:52,107 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:52,107 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:52,107 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:52,108 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:52,108 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:52,108 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:52,108 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:52,108 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:52,108 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:52,108 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:52,108 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:52,108 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/95/957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/95/957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/95/957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/95/957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:52,108 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:52,108 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:52,109 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:52,109 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:52,109 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:52,109 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/95/957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083652Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:52,109 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083652Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 316860b0645cab445d18bb900798f8f068aa9e8519d43aa583c92c8b7ec126da gunicorn-registry stdout | 2025-09-26 08:36:52,109 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | dae47392b04159d8ca122cb81f6e216be198bf67483531feef3619f62b331e01 gunicorn-registry stdout | 2025-09-26 08:36:52,109 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:52,109 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:52,109 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem securityworker stdout | 2025-09-26 08:36:52,111 [89] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "manifestblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [2, 'sha256:d69d4d41cfe2ee680d6972795e2a1eb9e4dc4ec3b3c5e0797c9ab43bb3726fa7', 1, 2, 'sha256:2abc5e83407155714f171c293f197e1310176959e106f8ad63ffa2e7e9635d4a', 1]) securityworker stdout | 2025-09-26 08:36:52,115 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['8034dd97-6471-49e4-86c8-55e833988160']) securityworker stdout | 2025-09-26 08:36:52,119 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['6d9afe7c-4cd4-46e0-8000-0876c9384bb4']) securityworker stdout | 2025-09-26 08:36:52,122 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."manifest_id", "t1"."repository_id", "t1"."index_status", "t1"."error_json", "t1"."last_indexed", "t1"."indexer_hash", "t1"."indexer_version", "t1"."metadata_json" FROM "manifestsecuritystatus" AS "t1" WHERE ("t1"."manifest_id" = %s)', [8]) securityworker stdout | 2025-09-26 08:36:52,126 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) securityworker stdout | 2025-09-26 08:36:52,130 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) securityworker stdout | 2025-09-26 08:36:52,133 [89] [DEBUG] [data.secscan_model.secscan_v4_model] Indexing manifest [8] 3/alpine@sha256:008448246686fe28544e36ba89e7bc7fbe6dad8a2ccdef576875c74298c46348 securityworker stdout | 2025-09-26 08:36:52,134 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,134 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,134 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,134 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:52,134 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,134 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:52,134 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:52,134 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:52,134 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:52,134 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:52,134 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:52,134 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:52,134 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,134 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:36:52,134 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:36:52,134 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876412 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/d6/d69d4d41cfe2ee680d6972795e2a1eb9e4dc4ec3b3c5e0797c9ab43bb3726fa7 securityworker stdout | 2025-09-26 08:36:52,140 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ERXlMQ0pwWVhRaU9qRTNOVGc0TnpVNE1USXNJbVY0Y0NJNk1UYzFPRGczTmpReE1pd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5a05pOWtOamxrTkdRME1XTm1aVEpsWlRZNE1HUTJPVGN5TnprMVpUSmhNV1ZpT1dVMFpHTTBaV016WWpOak5XVXdOemszWXpsaFlqUXpZbUl6TnpJMlptRTNQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDA1VVVsc0pUSkdZbGR1T1cxMlp6VjVjWGx5WkRoNFZXRm1KVEpHVDNKdkpUTkVKa1Y0Y0dseVpYTTlNVGMxT0RnM05qUXhNaUlzSW1odmMzUWlPaUp6TXk1dmNHVnVjMmhwWm5RdGMzUnZjbUZuWlM1emRtTXVZMngxYzNSbGNpNXNiMk5oYkRvME5ETWlMQ0p6WTJobGJXVWlPaUpvZEhSd2N5SjlYU3dpWTI5dWRHVjRkQ0k2ZTMxOS5jZ3dSUDh5Nm9HRUxjbVQ0RFNuc3RsUm12eG8wYUJ1WkdzblFBNVlkd0k3S3RsbFNibktmQ0hlamUwc0h3X2F3QUc5N3EtaTRjUzVaX0tlSXFLNjV3TkVCSGF0elRmY0tOS1NUV211U0Y3VjNRZVVSR2tzaFRRRzYzNUlQZTA2bnktb2FsSTAxWmg3M3ozWUdvUHQzVUxsU0ZwMjRIRXpMRHJFOFEtMEdCa2h6TWhQZkZYVm93MlBSSGxJOW9WR1QxNDdzSUJtZzRqZDVrQ0d4OXcxODRZR0x0Sy11bjBhdkJqWWtHTWpUcTIyTVQ2WUtvaXlsWnN2ZW9jeXBySG9tN0J6X2VoYmM2b1Fkb1ByVF9kNnV5RXlWanJyN3Y3THFrTUJwWndLbEk1OEdncko0dWVoOThyOFBOcUNHcWN6T2E5OTRfVlRvOEk1b1lDNmhnTkFwWnc=/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/d6/d69d4d41cfe2ee680d6972795e2a1eb9e4dc4ec3b3c5e0797c9ab43bb3726fa7?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=9QIl%2FbWn9mvg5yqyrd8xUaf%2FOro%3D&Expires=1758876412 securityworker stdout | 2025-09-26 08:36:52,141 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,141 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,141 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,141 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:52,141 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,141 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:52,141 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:52,141 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:52,141 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:52,141 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:52,141 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:52,141 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:52,141 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,141 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:36:52,141 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:36:52,141 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876412 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/d6/d69d4d41cfe2ee680d6972795e2a1eb9e4dc4ec3b3c5e0797c9ab43bb3726fa7 securityworker stdout | 2025-09-26 08:36:52,147 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ERXlMQ0pwWVhRaU9qRTNOVGc0TnpVNE1USXNJbVY0Y0NJNk1UYzFPRGczTmpReE1pd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5a05pOWtOamxrTkdRME1XTm1aVEpsWlRZNE1HUTJPVGN5TnprMVpUSmhNV1ZpT1dVMFpHTTBaV016WWpOak5XVXdOemszWXpsaFlqUXpZbUl6TnpJMlptRTNQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDA1VVVsc0pUSkdZbGR1T1cxMlp6VjVjWGx5WkRoNFZXRm1KVEpHVDNKdkpUTkVKa1Y0Y0dseVpYTTlNVGMxT0RnM05qUXhNaUlzSW1odmMzUWlPaUp6TXk1dmNHVnVjMmhwWm5RdGMzUnZjbUZuWlM1emRtTXVZMngxYzNSbGNpNXNiMk5oYkRvME5ETWlMQ0p6WTJobGJXVWlPaUpvZEhSd2N5SjlYU3dpWTI5dWRHVjRkQ0k2ZTMxOS5jZ3dSUDh5Nm9HRUxjbVQ0RFNuc3RsUm12eG8wYUJ1WkdzblFBNVlkd0k3S3RsbFNibktmQ0hlamUwc0h3X2F3QUc5N3EtaTRjUzVaX0tlSXFLNjV3TkVCSGF0elRmY0tOS1NUV211U0Y3VjNRZVVSR2tzaFRRRzYzNUlQZTA2bnktb2FsSTAxWmg3M3ozWUdvUHQzVUxsU0ZwMjRIRXpMRHJFOFEtMEdCa2h6TWhQZkZYVm93MlBSSGxJOW9WR1QxNDdzSUJtZzRqZDVrQ0d4OXcxODRZR0x0Sy11bjBhdkJqWWtHTWpUcTIyTVQ2WUtvaXlsWnN2ZW9jeXBySG9tN0J6X2VoYmM2b1Fkb1ByVF9kNnV5RXlWanJyN3Y3THFrTUJwWndLbEk1OEdncko0dWVoOThyOFBOcUNHcWN6T2E5OTRfVlRvOEk1b1lDNmhnTkFwWnc=/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/d6/d69d4d41cfe2ee680d6972795e2a1eb9e4dc4ec3b3c5e0797c9ab43bb3726fa7?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=9QIl%2FbWn9mvg5yqyrd8xUaf%2FOro%3D&Expires=1758876412 securityworker stdout | 2025-09-26 08:36:52,147 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,147 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,147 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,147 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:52,147 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,147 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:52,147 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:52,148 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:52,148 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:52,148 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:52,148 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:52,148 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:52,148 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,148 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:36:52,148 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:36:52,148 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876412 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 securityworker stdout | 2025-09-26 08:36:52,154 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ERXlMQ0pwWVhRaU9qRTNOVGc0TnpVNE1USXNJbVY0Y0NJNk1UYzFPRGczTmpReE1pd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE15OWhNMlZrT1RWallXVmlNREptWm1VMk9HTmtaRGxtWkRnME5EQTJOamd3WVdVNU0yUTJNek5qWWpFMk5ESXlaREF3WlRoaE4yTXlNamsxTldJME5tUTBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDExY2xkYU5ETlFkekE1V2lVeVFsQnpSVFphWVc1T1NuQTNaSFZ5V1NVelJDWkZlSEJwY21WelBURTNOVGc0TnpZME1USWlMQ0pvYjNOMElqb2ljek11YjNCbGJuTm9hV1owTFhOMGIzSmhaMlV1YzNaakxtTnNkWE4wWlhJdWJHOWpZV3c2TkRReklpd2ljMk5vWlcxbElqb2lhSFIwY0hNaWZWMHNJbU52Ym5SbGVIUWlPbnQ5ZlEuQ1RyVm9Oc1ZHdERGSzJUaXpCUDVYa0hjaWNHQ0JMbFRDWUM4RFZDMDNCYUZJckNxOURhdWcyOWxKWURDN3NwbHdxTWY1U0xsZGRCTFlGdF9YRWUxWERGOGt4ZEJvUl9rc3J6ajVqUm9iM1VFY00xZ0dJQ3RFcjA1dlNwMGdpTGktWHRRV0tQQWFwbXRrMWc1TzBSQnBSc3hsY3Y0MElwbUtxUHNRZkN2ZHAxb2J6VGlFTnJPZWprc1dXYXNGSklQT1BBM19FT0NUM0lmV09ZUjJKUGk0T1UzLWFhN01DeHdEZ0VoT1FUalgxVEEyU1JlY3YwMHlRb1A4WWktWHc3TVg0NWpQVlBPS3llWHNQb3JFOWg2ajJfSmdtUU9VY1hsdXBWWXM0cHQzUnlDa3pXTGFLbjUyaC1iYXIyNElCNTdOOUk1d2pqS3hYZmhjODJid052dy1B/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=urWZ43Pw09Z%2BPsE6ZanNJp7durY%3D&Expires=1758876412 securityworker stdout | 2025-09-26 08:36:52,155 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,155 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,155 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,155 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:52,155 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,155 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:52,155 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:52,155 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:52,155 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:52,155 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:52,155 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:52,155 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:52,155 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:52,155 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:36:52,155 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:36:52,155 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876412 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 securityworker stdout | 2025-09-26 08:36:52,162 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ERXlMQ0pwWVhRaU9qRTNOVGc0TnpVNE1USXNJbVY0Y0NJNk1UYzFPRGczTmpReE1pd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE15OWhNMlZrT1RWallXVmlNREptWm1VMk9HTmtaRGxtWkRnME5EQTJOamd3WVdVNU0yUTJNek5qWWpFMk5ESXlaREF3WlRoaE4yTXlNamsxTldJME5tUTBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDExY2xkYU5ETlFkekE1V2lVeVFsQnpSVFphWVc1T1NuQTNaSFZ5V1NVelJDWkZlSEJwY21WelBURTNOVGc0TnpZME1USWlMQ0pvYjNOMElqb2ljek11YjNCbGJuTm9hV1owTFhOMGIzSmhaMlV1YzNaakxtTnNkWE4wWlhJdWJHOWpZV3c2TkRReklpd2ljMk5vWlcxbElqb2lhSFIwY0hNaWZWMHNJbU52Ym5SbGVIUWlPbnQ5ZlEuQ1RyVm9Oc1ZHdERGSzJUaXpCUDVYa0hjaWNHQ0JMbFRDWUM4RFZDMDNCYUZJckNxOURhdWcyOWxKWURDN3NwbHdxTWY1U0xsZGRCTFlGdF9YRWUxWERGOGt4ZEJvUl9rc3J6ajVqUm9iM1VFY00xZ0dJQ3RFcjA1dlNwMGdpTGktWHRRV0tQQWFwbXRrMWc1TzBSQnBSc3hsY3Y0MElwbUtxUHNRZkN2ZHAxb2J6VGlFTnJPZWprc1dXYXNGSklQT1BBM19FT0NUM0lmV09ZUjJKUGk0T1UzLWFhN01DeHdEZ0VoT1FUalgxVEEyU1JlY3YwMHlRb1A4WWktWHc3TVg0NWpQVlBPS3llWHNQb3JFOWg2ajJfSmdtUU9VY1hsdXBWWXM0cHQzUnlDa3pXTGFLbjUyaC1iYXIyNElCNTdOOUk1d2pqS3hYZmhjODJid052dy1B/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=urWZ43Pw09Z%2BPsE6ZanNJp7durY%3D&Expires=1758876412 securityworker stdout | 2025-09-26 08:36:52,162 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:36:52,162 [89] [DEBUG] [util.secscan.v4.api] POSTing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_report gunicorn-registry stdout | 2025-09-26 08:36:52,170 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/95/957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c HTTP/1.1" 200 576 gunicorn-registry stdout | 2025-09-26 08:36:52,170 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ufi-4lcoen-bab', 'x-amz-id-2': 'mg0l8ufi-4lcoen-bab', 'ETag': '"ad3471c562bc7fd7ea9b64d2c5eaf89d-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:51 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '576', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:52 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:52,170 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:36:52,170 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:52,171 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:52,171 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:52,171 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8ufi-4lcoen-bab', 'HostId': 'mg0l8ufi-4lcoen-bab', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ufi-4lcoen-bab', 'x-amz-id-2': 'mg0l8ufi-4lcoen-bab', 'etag': '"ad3471c562bc7fd7ea9b64d2c5eaf89d-1"', 'last-modified': 'Fri, 26 Sep 2025 08:36:51 GMT', 'content-type': 'application/octet-stream', 'content-length': '576', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:36:52 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 36, 51, tzinfo=tzutc()), 'ContentLength': 576, 'ETag': '"ad3471c562bc7fd7ea9b64d2c5eaf89d-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:36:52,173 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [10, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,178 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['5b602430-7c49-4fa7-8a48-b9ed3f5b85de', 'com.docker.official-images.bashbrew.arch', 'i386', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:52,180 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 10, 29]) gunicorn-registry stdout | 2025-09-26 08:36:52,184 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [10, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,188 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['2c2e789b-82d8-4002-b6fa-672236b10f28', 'org.opencontainers.image.base.name', 'scratch', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:52,191 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 10, 30]) gunicorn-registry stdout | 2025-09-26 08:36:52,194 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [10, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,198 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['c0d2d194-b8d0-4f3b-91b5-8f607d8f57f6', 'org.opencontainers.image.created', '2025-05-30T16:20:41Z', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:52,200 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 10, 31]) gunicorn-registry stdout | 2025-09-26 08:36:52,205 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [10, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,208 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['39e0dc0e-f29e-42f5-a853-05649775fd20', 'org.opencontainers.image.revision', '5213c5a71c73d39d5896657909e753effb1c05ff', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:52,211 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 10, 32]) gunicorn-registry stdout | 2025-09-26 08:36:52,215 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [10, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,219 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['fa6a55dd-6f7c-45d2-99c7-acd76871e065', 'org.opencontainers.image.source', 'https://github.com/alpinelinux/docker-alpine.git#5213c5a71c73d39d5896657909e753effb1c05ff:x86', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:52,221 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 10, 33]) gunicorn-registry stdout | 2025-09-26 08:36:52,225 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [10, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,229 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['22f72f02-d012-4faf-9863-766aa6a7a0e1', 'org.opencontainers.image.url', 'https://hub.docker.com/_/alpine', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:52,231 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 10, 34]) gunicorn-registry stdout | 2025-09-26 08:36:52,236 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [10, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,240 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['c00ace7d-1d39-4b3f-a9d9-3ae705768997', 'org.opencontainers.image.version', '3.22.0', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:52,243 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 10, 35]) gunicorn-registry stdout | 2025-09-26 08:36:52,247 [250] [DEBUG] [app] Ending request: urn:request:82c22747-63f8-4b86-9cd5-fb29e4af49ba (/v2/testorg/alpine/manifests/sha256:af11d8e82a84ada96b5af358e796120e1c83f685d077b25ec05af8e6bc8827b6) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:82c22747-63f8-4b86-9cd5-fb29e4af49ba', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/manifests/sha256:af11d8e82a84ada96b5af358e796120e1c83f685d077b25ec05af8e6bc8827b6', 'path': '/v2/testorg/alpine/manifests/sha256:af11d8e82a84ada96b5af358e796120e1c83f685d077b25ec05af8e6bc8827b6', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c', 'size': 576}, 'layers': [{'mediaType': 'application/vnd.oci.image.layer.v1.tar+gzip', 'digest': 'sha256:c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993', 'size': 3616029}], 'annotations': {'com.docker.official-images.bashbrew.arch': 'i386', 'org.opencontainers.image.base.name': 'scratch', 'org.opencontainers.image.created': '2025-05-30T16:20:41Z', 'org.opencontainers.image.revision': '5213c5a71c73d39d5896657909e753effb1c05ff', 'org.opencontainers.image.source': 'https://github.com/alpinelinux/docker-alpine.git#5213c5a71c73d39d5896657909e753effb1c05ff:x86', 'org.opencontainers.image.url': 'https://hub.docker.com/_/alpine', 'org.opencontainers.image.version': '3.22.0'}}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:52,247 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:52,247 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:52,247 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:52 +0000] "PUT /v2/testorg/alpine/manifests/sha256:af11d8e82a84ada96b5af358e796120e1c83f685d077b25ec05af8e6bc8827b6 HTTP/1.1" 201 2 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:52 +0000] "PUT /v2/testorg/alpine/manifests/sha256:af11d8e82a84ada96b5af358e796120e1c83f685d077b25ec05af8e6bc8827b6 HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.195 2838 0.195) gunicorn-registry stdout | 2025-09-26 08:36:52,532 [256] [DEBUG] [app] Starting request: urn:request:e70faa5f-68e5-47a8-a6c6-aba67f9f9137 (/v2/testorg/alpine/blobs/sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:52,532 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:52,532 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:52,532 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:52,534 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:52,534 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:52,534 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:52,534 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:52,534 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:52,535 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,539 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,543 [256] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:52,543 [256] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e_2 gunicorn-registry stdout | 2025-09-26 08:36:52,544 [256] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:52,545 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,550 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,553 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,557 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,561 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,565 [256] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e_2: None gunicorn-registry stdout | 2025-09-26 08:36:52,565 [256] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e_2: None gunicorn-registry stdout | 2025-09-26 08:36:52,565 [256] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:52,565 [256] [DEBUG] [app] Ending request: urn:request:e70faa5f-68e5-47a8-a6c6-aba67f9f9137 (/v2/testorg/alpine/blobs/sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:e70faa5f-68e5-47a8-a6c6-aba67f9f9137', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e', 'path': '/v2/testorg/alpine/blobs/sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:52,566 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:52,566 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:52,566 [256] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:52 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:52 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.035 1714 0.035) gunicorn-registry stdout | 2025-09-26 08:36:52,880 [254] [DEBUG] [app] Starting request: urn:request:354c0b4d-dd3c-4ae3-b77c-82fe32be26ab (/v2/testorg/alpine/blobs/sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:52,880 [254] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:52,880 [254] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:52,880 [254] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:52,882 [254] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:52,882 [254] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:52,882 [254] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:52,882 [254] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:52,882 [254] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:52,883 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,888 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,892 [254] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:52,892 [254] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e_2 gunicorn-registry stdout | 2025-09-26 08:36:52,893 [254] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:52,893 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,898 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,901 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,905 [254] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,908 [254] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,912 [254] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e_2: None gunicorn-registry stdout | 2025-09-26 08:36:52,912 [254] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e_2: None gunicorn-registry stdout | 2025-09-26 08:36:52,912 [254] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:52,913 [254] [DEBUG] [app] Ending request: urn:request:354c0b4d-dd3c-4ae3-b77c-82fe32be26ab (/v2/testorg/alpine/blobs/sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:354c0b4d-dd3c-4ae3-b77c-82fe32be26ab', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e', 'path': '/v2/testorg/alpine/blobs/sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:52,913 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:52,913 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:52,913 [254] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:52 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:52 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.035 1714 0.035) gunicorn-registry stdout | 2025-09-26 08:36:52,953 [257] [DEBUG] [app] Starting request: urn:request:f163404e-240d-43f3-a64f-c2bbd4395c5c (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:52,954 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:52,954 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:52,954 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:52,955 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:52,955 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:52,955 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:52,955 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:52,955 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:52,957 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,961 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,965 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,969 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,973 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,977 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,981 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:52,984 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:52,988 [257] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, 'c168cb94-a532-4a9f-b11f-48e2d51c7d3b', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 52, 988437)]) gunicorn-registry stdout | 2025-09-26 08:36:52,994 [257] [DEBUG] [app] Ending request: urn:request:f163404e-240d-43f3-a64f-c2bbd4395c5c (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:f163404e-240d-43f3-a64f-c2bbd4395c5c', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:52,994 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:52,994 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:52,994 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:52 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:52 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.042 1693 0.041) gunicorn-registry stdout | 2025-09-26 08:36:53,053 [257] [DEBUG] [app] Starting request: urn:request:ec28f76a-2605-4de8-964d-d525fc9e383c (/v2/testorg/alpine/blobs/uploads/b78094d9-c363-45fc-8aff-f49d9cc4a87b) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:53,053 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'b78094d9-c363-45fc-8aff-f49d9cc4a87b', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:53,053 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:53,053 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:53,055 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:53,055 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:53,055 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:53,055 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:53,055 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:53,057 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,061 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,064 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,068 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,072 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,076 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,080 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,084 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:53,088 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['b78094d9-c363-45fc-8aff-f49d9cc4a87b', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,091 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:53,091 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:53,092 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:53,093 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:53,094 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/25858064-60c6-4c7f-bf8c-7195c304e892', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:53,094 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,094 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,094 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,094 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,094 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,094 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,094 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,094 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,094 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:53,095 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:53,095 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:53,095 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:53,095 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,095 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,095 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,095 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/25858064-60c6-4c7f-bf8c-7195c304e892?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/25858064-60c6-4c7f-bf8c-7195c304e892', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/25858064-60c6-4c7f-bf8c-7195c304e892?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/25858064-60c6-4c7f-bf8c-7195c304e892', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:53,095 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,095 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,095 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,096 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,096 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:53,096 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/25858064-60c6-4c7f-bf8c-7195c304e892 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083653Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:53,096 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083653Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | e7f16ee79ab05b5fab10e404d2e0a2a235b1b98c54c690484f21f2f5e0f260e3 gunicorn-registry stdout | 2025-09-26 08:36:53,096 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 06064f6e39a288dcf13092155ad04126889dadc05cfb2ced9cd87aa2043ce1e4 gunicorn-registry stdout | 2025-09-26 08:36:53,096 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,096 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:53,097 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:53,102 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/25858064-60c6-4c7f-bf8c-7195c304e892?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:53,102 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8v6x-4dtfax-wg5', 'x-amz-id-2': 'mg0l8v6x-4dtfax-wg5', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:53 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:53,102 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/25858064-60c6-4c7f-bf8c-7195c304e89268d650a5d73ec60008f93410' gunicorn-registry stdout | 2025-09-26 08:36:53,103 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,103 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:53,103 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,103 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8v6x-4dtfax-wg5', 'HostId': 'mg0l8v6x-4dtfax-wg5', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8v6x-4dtfax-wg5', 'x-amz-id-2': 'mg0l8v6x-4dtfax-wg5', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:53 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/25858064-60c6-4c7f-bf8c-7195c304e892', 'UploadId': '68d650a5d73ec60008f93410'} gunicorn-registry stdout | 2025-09-26 08:36:53,103 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:53,104 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/25858064-60c6-4c7f-bf8c-7195c304e892', 'UploadId': '68d650a5d73ec60008f93410'} gunicorn-registry stdout | 2025-09-26 08:36:53,104 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,104 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,104 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,104 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,104 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,104 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,104 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:53,104 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:53,104 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:53,105 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:53,105 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,105 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,105 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,105 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/25858064-60c6-4c7f-bf8c-7195c304e892', 'query_string': {'uploadId': '68d650a5d73ec60008f93410'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/25858064-60c6-4c7f-bf8c-7195c304e892', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/25858064-60c6-4c7f-bf8c-7195c304e892?uploadId=68d650a5d73ec60008f93410', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/25858064-60c6-4c7f-bf8c-7195c304e892', 'UploadId': '68d650a5d73ec60008f93410'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:53,105 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,105 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,105 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,105 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,106 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:53,106 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/25858064-60c6-4c7f-bf8c-7195c304e892 gunicorn-registry stdout | uploadId=68d650a5d73ec60008f93410 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083653Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:53,106 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083653Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 5cd6c936ec1e2b36bb9a9abf48779f4414b1ffc8a5a5b971405d0c4b34f6cfcb gunicorn-registry stdout | 2025-09-26 08:36:53,106 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | cb99e30382b394317ba3c51838f9032beac706fbb87a89fe1658febff0004f05 gunicorn-registry stdout | 2025-09-26 08:36:53,106 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,106 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:53,106 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:53,114 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/25858064-60c6-4c7f-bf8c-7195c304e892?uploadId=68d650a5d73ec60008f93410 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:53,114 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8v77-4jjma0-1crx', 'x-amz-id-2': 'mg0l8v77-4jjma0-1crx', 'Date': 'Fri, 26 Sep 2025 08:36:53 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:53,114 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:53,114 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,114 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:53,114 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,114 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8v77-4jjma0-1crx', 'HostId': 'mg0l8v77-4jjma0-1crx', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8v77-4jjma0-1crx', 'x-amz-id-2': 'mg0l8v77-4jjma0-1crx', 'date': 'Fri, 26 Sep 2025 08:36:53 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:53,114 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob b78094d9-c363-45fc-8aff-f49d9cc4a87b took 0.02270197868347168 seconds gunicorn-registry stdout | 2025-09-26 08:36:53,115 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['b78094d9-c363-45fc-8aff-f49d9cc4a87b', 1, 0]) storagereplication stdout | 2025-09-26 08:36:53,116 [95] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'storagereplication.py', 'pid': '95'} gunicorn-registry stdout | 2025-09-26 08:36:53,119 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, 'b78094d9-c363-45fc-8aff-f49d9cc4a87b', 80931, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwYXRpb25zaGlwVHlwZSI6IkdFTkVSQVRFRF9GUk9NIn1dfX1iMjIxNTNmYzZhNGY4ZWM5NmRkMTM1OCIsInJlbCMAAAAAAAAAAOAJAAAAAAC7r9UiTuMHfPuQC+7h8iPvwCQxo2n9jlqliEbGIDvGA5RiLg==', 9, '{"chunks": [["uploads/f2d73a81-f833-43da-9980-a58a2bc2d410", 0, 80931]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 36, 52, 783587), None, None, 29]) gunicorn-registry stdout | 2025-09-26 08:36:53,123 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:53,123 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:53,123 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:53,124 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:53,125 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/b1/b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac'} gunicorn-registry stdout | 2025-09-26 08:36:53,125 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,125 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,125 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,125 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,125 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,125 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,125 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,125 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:53,125 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:53,125 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:53,125 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:53,125 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,125 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,125 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,125 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/b1/b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b1/b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b1/b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/b1/b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:53,125 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,126 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,126 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,126 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,126 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:53,126 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b1/b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083653Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:53,126 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083653Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 2574ebceae5a48d16df07d871a657d59c109b8014290267ad1b2a178fee0e17b gunicorn-registry stdout | 2025-09-26 08:36:53,126 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6c62b6ac62325aba2053ff86e0bfd2d050c819393c73e159dd1e5d0cacb3476c gunicorn-registry stdout | 2025-09-26 08:36:53,126 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,126 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:53,127 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:53,133 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b1/b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:53,133 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8v7t-4wj2al-5yv', 'x-amz-id-2': 'mg0l8v7t-4wj2al-5yv', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:53 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:53,133 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:53,133 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,134 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:53,134 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,134 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:53,134 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:53,134 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/b1/b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac gunicorn-registry stdout | 2025-09-26 08:36:53,134 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:53,134 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:53,134 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:53,135 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:53,135 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,135 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,135 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,135 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,135 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,135 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,135 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,135 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:53,135 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:53,135 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:53,135 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:53,135 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,135 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,135 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,135 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/f2d73a81-f833-43da-9980-a58a2bc2d410', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f2d73a81-f833-43da-9980-a58a2bc2d410', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f2d73a81-f833-43da-9980-a58a2bc2d410', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/f2d73a81-f833-43da-9980-a58a2bc2d410'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:53,135 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,135 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,135 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,136 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,136 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,136 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:53,136 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f2d73a81-f833-43da-9980-a58a2bc2d410 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083653Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:53,136 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083653Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4bf7412c996651eeb85313d05e9018838ff8cea51f3f522fea804af0b4ea61f3 gunicorn-registry stdout | 2025-09-26 08:36:53,136 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b53b6bce373eb24bdfea78b272083feb5a05876b286d61ec6175b1d1f71c7c94 gunicorn-registry stdout | 2025-09-26 08:36:53,136 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,136 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,137 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:53,137 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:53,140 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f2d73a81-f833-43da-9980-a58a2bc2d410 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:53,141 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8v82-51pgfm-1abd', 'x-amz-id-2': 'mg0l8v82-51pgfm-1abd', 'ETag': '"9c5b9ae38c3793dc8e458e2508cbe466-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:52 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '80931', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:53 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:53,141 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:53,141 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,141 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:53,141 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,141 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b1/b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:53,141 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:53,142 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b1/b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:53,142 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b1/b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:53,142 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b1/b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/f2d73a81-f833-43da-9980-a58a2bc2d410'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b1/b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac', 'extra_args': {}, 'callbacks': [], 'size': 80931} gunicorn-registry stdout | 2025-09-26 08:36:53,142 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,142 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,142 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,142 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,142 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,142 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,142 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,142 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,142 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,142 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,142 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:53,142 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:53,142 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:53,142 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:53,143 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,143 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,143 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,143 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/b1/b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f2d73a81-f833-43da-9980-a58a2bc2d410', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b1/b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b1/b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f2d73a81-f833-43da-9980-a58a2bc2d410', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/b1/b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:53,143 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,143 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,143 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,143 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,143 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,143 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:53,143 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b1/b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f2d73a81-f833-43da-9980-a58a2bc2d410 gunicorn-registry stdout | x-amz-date:20250926T083653Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:53,144 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083653Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 3b1b53fbcfb9ba6a0c7070b1a1142c39730c0246a750ec48dbc6e4e66673dbea gunicorn-registry stdout | 2025-09-26 08:36:53,144 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | fcb19c62c5be3aa4aae093e972665831b7c4d55e6427c37a237d48768d3df7fe gunicorn-registry stdout | 2025-09-26 08:36:53,144 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,144 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,144 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:53,144 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:53,144 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:53,171 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b1/b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:36:53,171 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8v89-560589-plx', 'x-amz-id-2': 'mg0l8v89-560589-plx', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:36:53 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:53,171 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:53.000Z"9c5b9ae38c3793dc8e458e2508cbe466-1"' gunicorn-registry stdout | 2025-09-26 08:36:53,172 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,172 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,172 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:53,172 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,172 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:53,172 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob b78094d9-c363-45fc-8aff-f49d9cc4a87b with digest sha256:b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac took 0.03863215446472168 seconds gunicorn-registry stdout | 2025-09-26 08:36:53,173 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['b78094d9-c363-45fc-8aff-f49d9cc4a87b', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,176 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,177 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['24ca4cad-6d59-4fde-be7d-ee938128e824', 80931, None, True, True, 'sha256:b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac']) gunicorn-registry stdout | 2025-09-26 08:36:53,179 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [30, 9]) gunicorn-registry stdout | 2025-09-26 08:36:53,181 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,183 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 30, datetime.datetime(2025, 9, 26, 8, 36, 53, 183197), datetime.datetime(2025, 9, 26, 9, 36, 53, 183181)]) gunicorn-registry stdout | 2025-09-26 08:36:53,184 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [29]) gunicorn-registry stdout | 2025-09-26 08:36:53,188 [257] [DEBUG] [app] Ending request: urn:request:ec28f76a-2605-4de8-964d-d525fc9e383c (/v2/testorg/alpine/blobs/uploads/b78094d9-c363-45fc-8aff-f49d9cc4a87b) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:ec28f76a-2605-4de8-964d-d525fc9e383c', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/b78094d9-c363-45fc-8aff-f49d9cc4a87b?digest=sha256:b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac', 'path': '/v2/testorg/alpine/blobs/uploads/b78094d9-c363-45fc-8aff-f49d9cc4a87b', 'parameters': {'digest': 'sha256:b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:53,189 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:53,189 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:53,189 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:53 +0000] "PUT /v2/testorg/alpine/blobs/uploads/b78094d9-c363-45fc-8aff-f49d9cc4a87b?digest=sha256%3Ab1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:53 +0000] "PUT /v2/testorg/alpine/blobs/uploads/b78094d9-c363-45fc-8aff-f49d9cc4a87b?digest=sha256%3Ab1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.137 1849 0.137) proxycacheblobworker stdout | 2025-09-26 08:36:53,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:36:53,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:03.545186+00:00 (in 9.999537 seconds) proxycacheblobworker stdout | 2025-09-26 08:36:53,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:03 GMT)" (scheduled at 2025-09-26 08:36:53.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:36:53,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:36:53,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 36, 53, 546015), True, datetime.datetime(2025, 9, 26, 8, 36, 53, 546015), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:36:53,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:36:53,559 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:36:53,559 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:03 GMT)" executed successfully teamsyncworker stdout | 2025-09-26 08:36:53,660 [105] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'teamsyncworker.py', 'pid': '105'} servicekey stdout | 2025-09-26 08:36:53,669 [93] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'servicekeyworker.py', 'pid': '93'} securityworker stdout | 2025-09-26 08:36:53,690 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "POST /indexer/api/v1/index_report HTTP/1.1" 201 None securityworker stdout | 2025-09-26 08:36:53,693 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."manifest_id", "t1"."repository_id", "t1"."index_status", "t1"."error_json", "t1"."last_indexed", "t1"."indexer_hash", "t1"."indexer_version", "t1"."metadata_json" FROM "manifestsecuritystatus" AS "t1" WHERE ("t1"."manifest_id" = %s) LIMIT %s OFFSET %s', [8, 1, 0]) securityworker stdout | 2025-09-26 08:36:53,697 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE ("t1"."manifest_id" = %s) LIMIT %s OFFSET %s', [8, 1, 0]) securityworker stdout | 2025-09-26 08:36:53,700 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:36:53,700 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/matcher/api/v1/vulnerability_report/sha256:008448246686fe28544e36ba89e7bc7fbe6dad8a2ccdef576875c74298c46348 blobuploadcleanupworker stdout | 2025-09-26 08:36:53,750 [50] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'blobuploadcleanupworker.py', 'pid': '50'} securityworker stdout | 2025-09-26 08:36:53,849 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /matcher/api/v1/vulnerability_report/sha256:008448246686fe28544e36ba89e7bc7fbe6dad8a2ccdef576875c74298c46348 HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:36:53,853 [89] [DEBUG] [data.secscan_model.secscan_v4_model] Attempting to create notifications for manifest #8 securityworker stdout | 2025-09-26 08:36:53,854 [89] [DEBUG] [peewee] ('DELETE FROM "manifestsecuritystatus" WHERE ("manifestsecuritystatus"."manifest_id" = %s)', [8]) securityworker stdout | 2025-09-26 08:36:53,856 [89] [DEBUG] [peewee] ('INSERT INTO "manifestsecuritystatus" ("manifest_id", "repository_id", "index_status", "error_json", "last_indexed", "indexer_hash", "indexer_version", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifestsecuritystatus"."id"', [8, 2, 2, '""', datetime.datetime(2025, 9, 26, 8, 36, 53, 856408), '37b46b4a70b6f1a19d5e4e18d21f57ff', 4, '{}']) securityworker stdout | 2025-09-26 08:36:53,860 [89] [DEBUG] [util.migrate.allocator] Marking id range as completed: 5-9 by worker securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Marking id range as completed: 5-9 by worker securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 5-9 securityworker stdout | 2025-09-26 08:36:53,860 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 5-9 securityworker stdout | 2025-09-26 08:36:53,860 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 5 securityworker stdout | 2025-09-26 08:36:53,860 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:36:53,860 [89] [DEBUG] [util.migrate.allocator] Total range: 1-5 securityworker stdout | 2025-09-26 08:36:53,860 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:36:53,860 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-5 securityworker stdout | 2025-09-26 08:36:53,860 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 5 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Total range: 1-5 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-5 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:36:53,861 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 5]) securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-5 by worker securityworker stdout | 2025-09-26 08:36:53,864 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-5 by worker securityworker stdout | 2025-09-26 08:36:53,864 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-5 securityworker stdout | 2025-09-26 08:36:53,864 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:36:53,864 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 5 securityworker stdout | 2025-09-26 08:36:53,864 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:36:53,864 [89] [DEBUG] [util.migrate.allocator] Total range: 5-1 securityworker stdout | 2025-09-26 08:36:53,864 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:36:53,864 [89] [DEBUG] [util.migrate.allocator] Total range: 1-9 securityworker stdout | 2025-09-26 08:36:53,865 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-5 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 5 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Total range: 5-1 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Total range: 1-9 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-9 securityworker stdout | 2025-09-26 08:36:53,865 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-9 securityworker stdout | 2025-09-26 08:36:53,865 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 5 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 5 securityworker stdout | 2025-09-26 08:36:53,866 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 31, 49, 339945), 2, 6]) securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 2-6 by worker securityworker stdout | 2025-09-26 08:36:53,869 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 2-6 by worker securityworker stdout | 2025-09-26 08:36:53,869 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 2-6 securityworker stdout | 2025-09-26 08:36:53,869 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 2-6 securityworker stdout | 2025-09-26 08:36:53,869 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:36:53,869 [89] [DEBUG] [util.migrate.allocator] Total range: 1-9 securityworker stdout | 2025-09-26 08:36:53,869 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:36:53,869 [89] [DEBUG] [util.migrate.allocator] Right range 2-6 securityworker stdout | 2025-09-26 08:36:53,869 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 2-6 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 2-6 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Total range: 1-9 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Right range 2-6 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:36:53,869 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:36:53,870 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 31, 49, 339945), 1, 5]) securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-5 by worker securityworker stdout | 2025-09-26 08:36:53,873 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-5 by worker securityworker stdout | 2025-09-26 08:36:53,874 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-5 securityworker stdout | 2025-09-26 08:36:53,874 [89] [DEBUG] [util.migrate.allocator] Merging with block 2-6 securityworker stdout | 2025-09-26 08:36:53,874 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 6 securityworker stdout | 2025-09-26 08:36:53,874 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:36:53,874 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:36:53,874 [89] [DEBUG] [util.migrate.allocator] Total range: 6-9 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-5 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Merging with block 2-6 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 6 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Total range: 6-9 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:36:53,874 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:36:53,874 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 6-9 securityworker stdout | 2025-09-26 08:36:53,874 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 6 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 6-9 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 6 securityworker stdout | 2025-09-26 08:36:53,874 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 31, 49, 339945), 6, 9]) securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 6-9 by worker securityworker stdout | 2025-09-26 08:36:53,878 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 6-9 by worker securityworker stdout | 2025-09-26 08:36:53,878 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 6-9 securityworker stdout | 2025-09-26 08:36:53,878 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 6 securityworker stdout | 2025-09-26 08:36:53,878 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 9 securityworker stdout | 2025-09-26 08:36:53,878 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:36:53,878 [89] [DEBUG] [util.migrate.allocator] Total range: 9-6 securityworker stdout | 2025-09-26 08:36:53,878 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 6-9 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 6 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 9 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Total range: 9-6 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:36:53,878 [89] [DEBUG] [util.migrate.allocator] Total range: 1-9 securityworker stdout | 2025-09-26 08:36:53,878 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:36:53,878 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-9 securityworker stdout | 2025-09-26 08:36:53,878 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 5 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Total range: 1-9 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-9 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 5 securityworker stdout | 2025-09-26 08:36:53,879 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 31, 49, 339945), 4, 8]) securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 4-8 by worker securityworker stdout | 2025-09-26 08:36:53,883 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 4-8 by worker securityworker stdout | 2025-09-26 08:36:53,883 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 4-8 securityworker stdout | 2025-09-26 08:36:53,883 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 4-8 securityworker stdout | 2025-09-26 08:36:53,883 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:36:53,883 [89] [DEBUG] [util.migrate.allocator] Total range: 1-9 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 4-8 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 4-8 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Total range: 1-9 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:36:53,883 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:36:53,883 [89] [DEBUG] [util.migrate.allocator] Right range 4-8 securityworker stdout | 2025-09-26 08:36:53,883 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-4 securityworker stdout | 2025-09-26 08:36:53,883 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Right range 4-8 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-4 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:36:53,884 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 31, 49, 339945), 1, 5]) securityworker stdout | 2025-09-26 08:36:53,887 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-5 by worker securityworker stdout | 2025-09-26 08:36:53,887 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-5 securityworker stdout | 2025-09-26 08:36:53,887 [89] [DEBUG] [util.migrate.allocator] Merging with block 4-8 securityworker stdout | 2025-09-26 08:36:53,887 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 8 securityworker stdout | 2025-09-26 08:36:53,887 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-5 by worker securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-5 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Merging with block 4-8 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 8 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:36:53,887 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:36:53,887 [89] [DEBUG] [util.migrate.allocator] Total range: 8-9 securityworker stdout | 2025-09-26 08:36:53,887 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:36:53,887 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 8-9 securityworker stdout | 2025-09-26 08:36:53,887 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 8 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Total range: 8-9 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 8-9 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 8 securityworker stdout | 2025-09-26 08:36:53,888 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 31, 49, 339945), 8, 9]) securityworker stdout | 2025-09-26 08:36:53,891 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 8-9 by worker securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 8-9 by worker securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 8-9 securityworker stdout | 2025-09-26 08:36:53,891 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 8-9 securityworker stdout | 2025-09-26 08:36:53,891 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 8 securityworker stdout | 2025-09-26 08:36:53,891 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 9 securityworker stdout | 2025-09-26 08:36:53,891 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:36:53,891 [89] [DEBUG] [util.migrate.allocator] Total range: 9-8 securityworker stdout | 2025-09-26 08:36:53,891 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 8 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 9 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] Total range: 9-8 securityworker stderr | 2025-09-26 08:36:53 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:36:53,891 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stdout | 2025-09-26 08:36:53,892 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:19 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:36:53,913 [250] [DEBUG] [app] Starting request: urn:request:6453aed9-15e5-4c9d-b02e-fac12ac41b9b (/v2/testorg/alpine/blobs/uploads/e795b695-5ccb-432d-ac35-f53992a5c459) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:53,913 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'e795b695-5ccb-432d-ac35-f53992a5c459', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:53,913 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:53,914 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:53,915 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:53,915 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:53,915 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:53,915 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:53,915 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:53,916 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,920 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,923 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,926 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,930 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,933 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,937 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,940 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:53,944 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['e795b695-5ccb-432d-ac35-f53992a5c459', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,947 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:53,947 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:53,947 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:53,948 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:53,948 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a10ab48f-d401-4614-a95f-5961e885dccf', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:53,948 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,948 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,948 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,948 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,948 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,948 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,948 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,948 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,948 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:53,949 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:53,949 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:53,949 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:53,949 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,949 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,949 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,949 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/a10ab48f-d401-4614-a95f-5961e885dccf?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a10ab48f-d401-4614-a95f-5961e885dccf', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a10ab48f-d401-4614-a95f-5961e885dccf?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a10ab48f-d401-4614-a95f-5961e885dccf', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:53,949 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,949 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,949 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,949 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,949 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:53,949 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a10ab48f-d401-4614-a95f-5961e885dccf gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083653Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:53,950 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083653Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ae6f7a4bb8d17539e1b3a2144283d754277925669296677a80751d1e6162c39a gunicorn-registry stdout | 2025-09-26 08:36:53,950 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 953aa93a580aae32311fdfed05ba733fc16adf2cb59bfcfaf7763d3d0a06912c gunicorn-registry stdout | 2025-09-26 08:36:53,950 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,950 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:53,950 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:53,956 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a10ab48f-d401-4614-a95f-5961e885dccf?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:53,956 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8vun-1yky9f-s46', 'x-amz-id-2': 'mg0l8vun-1yky9f-s46', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:53 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:53,956 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/a10ab48f-d401-4614-a95f-5961e885dccf68d650a5d73ec60008f93420' gunicorn-registry stdout | 2025-09-26 08:36:53,956 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,956 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:53,956 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,956 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8vun-1yky9f-s46', 'HostId': 'mg0l8vun-1yky9f-s46', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8vun-1yky9f-s46', 'x-amz-id-2': 'mg0l8vun-1yky9f-s46', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:53 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a10ab48f-d401-4614-a95f-5961e885dccf', 'UploadId': '68d650a5d73ec60008f93420'} gunicorn-registry stdout | 2025-09-26 08:36:53,956 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:53,957 [250] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a10ab48f-d401-4614-a95f-5961e885dccf', 'UploadId': '68d650a5d73ec60008f93420'} gunicorn-registry stdout | 2025-09-26 08:36:53,957 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,957 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,957 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,957 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,957 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,958 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,958 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:53,958 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:53,958 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:53,958 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:53,958 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,958 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,958 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,958 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/a10ab48f-d401-4614-a95f-5961e885dccf', 'query_string': {'uploadId': '68d650a5d73ec60008f93420'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a10ab48f-d401-4614-a95f-5961e885dccf', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a10ab48f-d401-4614-a95f-5961e885dccf?uploadId=68d650a5d73ec60008f93420', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a10ab48f-d401-4614-a95f-5961e885dccf', 'UploadId': '68d650a5d73ec60008f93420'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:53,958 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,958 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,958 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,958 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,959 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:53,959 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a10ab48f-d401-4614-a95f-5961e885dccf gunicorn-registry stdout | uploadId=68d650a5d73ec60008f93420 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083653Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:53,959 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083653Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | c64e119822bfb306576eb1e9e29c0ddfef5e9efd097f9848e37c406ec6b01614 gunicorn-registry stdout | 2025-09-26 08:36:53,959 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | c3307422b19db8968f9f51e7dedfca0cd2f64941c743d966d44d64d02265a9d5 gunicorn-registry stdout | 2025-09-26 08:36:53,959 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,959 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:53,959 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:53,965 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a10ab48f-d401-4614-a95f-5961e885dccf?uploadId=68d650a5d73ec60008f93420 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:53,965 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8vuw-23y149-wjz', 'x-amz-id-2': 'mg0l8vuw-23y149-wjz', 'Date': 'Fri, 26 Sep 2025 08:36:53 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:53,965 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:53,965 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,965 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:53,965 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,965 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8vuw-23y149-wjz', 'HostId': 'mg0l8vuw-23y149-wjz', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8vuw-23y149-wjz', 'x-amz-id-2': 'mg0l8vuw-23y149-wjz', 'date': 'Fri, 26 Sep 2025 08:36:53 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:53,965 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob e795b695-5ccb-432d-ac35-f53992a5c459 took 0.018471479415893555 seconds gunicorn-registry stdout | 2025-09-26 08:36:53,966 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['e795b695-5ccb-432d-ac35-f53992a5c459', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:53,971 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, 'e795b695-5ccb-432d-ac35-f53992a5c459', 241, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwZWE2YTMyMTc3MDJkOTQ3NGU3ZTUxY2U0MTcyYzUyNDhiMTcxODk5YmU4MjZlIl19fTk1NDNkNjQ4MDI2MTllNTEAAAAAAAAAAAYAAAAAAAAndcA32NvvTEZYGIinIogep5RNJxKgxeiwlWOADLIY/JRiLg==', 9, '{"chunks": [["uploads/b74aac11-3e08-4a8b-b6c2-5ceb165c0b09", 0, 241]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 36, 53, 702152), None, None, 31]) gunicorn-registry stdout | 2025-09-26 08:36:53,975 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:53,975 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:53,975 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:53,975 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:53,976 [250] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095'} gunicorn-registry stdout | 2025-09-26 08:36:53,976 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,976 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,976 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,976 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,976 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,976 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,976 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,976 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:53,976 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:53,976 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:53,976 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:53,976 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,976 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,976 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,976 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:53,976 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,977 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,977 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,977 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,977 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:53,977 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083653Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:53,977 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083653Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | edcfc26ba8d92d76476c0bdc3a822349a78f392241ee2f34c9357be8b0ee0234 gunicorn-registry stdout | 2025-09-26 08:36:53,977 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b893816e88903336acb121102ae7ab455b2d4d3bcd1b5f09f5997fc0b91d33f5 gunicorn-registry stdout | 2025-09-26 08:36:53,977 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,977 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:53,977 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:53,981 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:53,981 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8vve-2eq0fv-1cmr', 'x-amz-id-2': 'mg0l8vve-2eq0fv-1cmr', 'Content-Type': 'application/xml', 'Content-Length': '339', 'Date': 'Fri, 26 Sep 2025 08:36:53 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:53,981 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:53,981 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,982 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:53,982 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,982 [250] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:53,982 [250] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:53,982 [250] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095 gunicorn-registry stdout | 2025-09-26 08:36:53,982 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:53,982 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:53,982 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:53,983 [250] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:53,983 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,983 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,983 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,983 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,983 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,983 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,983 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,983 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:53,983 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:53,983 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:53,983 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:53,984 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,984 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,984 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,984 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/b74aac11-3e08-4a8b-b6c2-5ceb165c0b09', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b74aac11-3e08-4a8b-b6c2-5ceb165c0b09', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b74aac11-3e08-4a8b-b6c2-5ceb165c0b09', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b74aac11-3e08-4a8b-b6c2-5ceb165c0b09'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:53,984 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,984 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,984 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:53,984 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,984 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,984 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:53,984 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b74aac11-3e08-4a8b-b6c2-5ceb165c0b09 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083653Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:53,984 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083653Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | bb1051e039c856e6bc1584ca9e41d0443411156427115577dc1431641a9dd1ea gunicorn-registry stdout | 2025-09-26 08:36:53,984 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | cd0641dae939bf23ea8398a6639aae87aa68b0aa484504c6a781bace8c1e842a gunicorn-registry stdout | 2025-09-26 08:36:53,984 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,984 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:53,984 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:53,985 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:53,985 [250] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:36:54,012 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b74aac11-3e08-4a8b-b6c2-5ceb165c0b09 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:54,013 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8vw9-2x9pvg-fyu', 'x-amz-id-2': 'mg0l8vw9-2x9pvg-fyu', 'ETag': '"61a75d0e757232a88592a29f55d878e0-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:53 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:54 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:54,013 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:54,013 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:54,013 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:54,013 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:54,013 [250] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:54,013 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:54,014 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:54,014 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:54,014 [250] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b74aac11-3e08-4a8b-b6c2-5ceb165c0b09'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095', 'extra_args': {}, 'callbacks': [], 'size': 241} gunicorn-registry stdout | 2025-09-26 08:36:54,014 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:54,014 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:54,015 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:54,015 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:54,015 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:54,015 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:54,015 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:54,015 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:54,015 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:54,015 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:54,015 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:54,015 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:54,015 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:54,015 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:54,015 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:54,015 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:54,015 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:54,015 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b74aac11-3e08-4a8b-b6c2-5ceb165c0b09', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b74aac11-3e08-4a8b-b6c2-5ceb165c0b09', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:54,015 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:54,016 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:54,016 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:54,016 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:54,016 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:54,016 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:54,016 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b74aac11-3e08-4a8b-b6c2-5ceb165c0b09 gunicorn-registry stdout | x-amz-date:20250926T083654Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:54,016 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083654Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4d56654a020574e7dd7489784f18001fb7b9a115ff84f212f255dbf3276dafb0 gunicorn-registry stdout | 2025-09-26 08:36:54,016 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | f923c82fdc19b24421e94fe095d9973d3fd7b3f53904589861b2cf1296aa0188 gunicorn-registry stdout | 2025-09-26 08:36:54,016 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:54,016 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:54,016 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:54,016 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:54,017 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:54,041 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:36:54,041 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8vwh-325nqa-1974', 'x-amz-id-2': 'mg0l8vwh-325nqa-1974', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:36:54 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:54,041 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:54.000Z"61a75d0e757232a88592a29f55d878e0-1"' gunicorn-registry stdout | 2025-09-26 08:36:54,042 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:54,042 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:54,042 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:54,042 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:54,042 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:54,043 [250] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob e795b695-5ccb-432d-ac35-f53992a5c459 with digest sha256:761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095 took 0.06110548973083496 seconds gunicorn-registry stdout | 2025-09-26 08:36:54,043 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['e795b695-5ccb-432d-ac35-f53992a5c459', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:54,047 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:54,048 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['32b931e7-3228-4baf-a680-adbd7c5f93c2', 241, None, True, True, 'sha256:761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095']) gunicorn-registry stdout | 2025-09-26 08:36:54,050 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [32, 9]) gunicorn-registry stdout | 2025-09-26 08:36:54,051 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:54,053 [250] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 32, datetime.datetime(2025, 9, 26, 8, 36, 54, 53078), datetime.datetime(2025, 9, 26, 9, 36, 54, 53060)]) gunicorn-registry stdout | 2025-09-26 08:36:54,054 [250] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [31]) gunicorn-registry stdout | 2025-09-26 08:36:54,059 [250] [DEBUG] [app] Ending request: urn:request:6453aed9-15e5-4c9d-b02e-fac12ac41b9b (/v2/testorg/alpine/blobs/uploads/e795b695-5ccb-432d-ac35-f53992a5c459) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:6453aed9-15e5-4c9d-b02e-fac12ac41b9b', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/e795b695-5ccb-432d-ac35-f53992a5c459?digest=sha256:761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095', 'path': '/v2/testorg/alpine/blobs/uploads/e795b695-5ccb-432d-ac35-f53992a5c459', 'parameters': {'digest': 'sha256:761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:54,059 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:54,059 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:54,059 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:54 +0000] "PUT /v2/testorg/alpine/blobs/uploads/e795b695-5ccb-432d-ac35-f53992a5c459?digest=sha256%3A761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:54 +0000] "PUT /v2/testorg/alpine/blobs/uploads/e795b695-5ccb-432d-ac35-f53992a5c459?digest=sha256%3A761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.147 1849 0.147) gcworker stdout | 2025-09-26 08:36:54,072 [57] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'gcworker.py', 'pid': '57'} queuecleanupworker stdout | 2025-09-26 08:36:54,171 [71] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'queuecleanupworker.py', 'pid': '71'} securityscanningnotificationworker stdout | 2025-09-26 08:36:54,493 [88] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityscanningnotificationworker.py', 'pid': '88'} gunicorn-registry stdout | 2025-09-26 08:36:54,623 [254] [DEBUG] [app] Starting request: urn:request:c5563299-f390-44b2-89a8-219ca689b3b0 (/v2/testorg/alpine/blobs/sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:54,623 [254] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:54,623 [254] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:54,623 [254] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:54,624 [254] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:54,624 [254] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:54,624 [254] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:54,624 [254] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:54,624 [254] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:54,625 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:54,629 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:54,633 [254] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:54,633 [254] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0_2 gunicorn-registry stdout | 2025-09-26 08:36:54,634 [254] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:54,634 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:54,639 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:54,642 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:54,646 [254] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:54,649 [254] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:54,652 [254] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0_2: None gunicorn-registry stdout | 2025-09-26 08:36:54,652 [254] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0_2: None gunicorn-registry stdout | 2025-09-26 08:36:54,652 [254] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:54,653 [254] [DEBUG] [app] Ending request: urn:request:c5563299-f390-44b2-89a8-219ca689b3b0 (/v2/testorg/alpine/blobs/sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:c5563299-f390-44b2-89a8-219ca689b3b0', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 'path': '/v2/testorg/alpine/blobs/sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:54,653 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:54,653 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:54,653 [254] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:54 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:54 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.031 1714 0.031) gunicorn-registry stdout | 2025-09-26 08:36:54,694 [250] [DEBUG] [app] Starting request: urn:request:5a25ee3f-d260-48d1-a7e5-b949efa57c5e (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:54,694 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:54,694 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:54,694 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:54,695 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:54,695 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:54,695 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:54,695 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:54,695 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:54,696 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:54,700 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:54,703 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:54,707 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:54,710 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:54,714 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:54,718 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:54,722 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:54,726 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, 'cf3647dc-78f9-4894-b015-7972a8f8ed61', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 54, 726054)]) gunicorn-registry stdout | 2025-09-26 08:36:54,731 [250] [DEBUG] [app] Ending request: urn:request:5a25ee3f-d260-48d1-a7e5-b949efa57c5e (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:5a25ee3f-d260-48d1-a7e5-b949efa57c5e', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:54,731 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:54,731 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:54,731 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:54 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:54 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.038 1693 0.038) chunkcleanupworker stdout | 2025-09-26 08:36:54,781 [53] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'chunkcleanupworker.py', 'pid': '53'} gunicorn-registry stdout | 2025-09-26 08:36:55,416 [257] [DEBUG] [app] Starting request: urn:request:f1c2a960-8f08-476b-9a74-5d729943e59e (/v2/testorg/alpine/blobs/uploads/cf3647dc-78f9-4894-b015-7972a8f8ed61) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:55,416 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'cf3647dc-78f9-4894-b015-7972a8f8ed61', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:55,416 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:55,416 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:55,417 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:55,417 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:55,417 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:55,417 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:55,417 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:55,418 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,422 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,425 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,429 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,433 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,437 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,440 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,444 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:55,447 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['cf3647dc-78f9-4894-b015-7972a8f8ed61', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,450 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:55,450 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:55,451 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:55,452 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:55,452 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/17a3a06b-db4c-48f8-83e5-615edd657ff3', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:55,452 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,452 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,452 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,452 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,452 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,452 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,452 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,452 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,452 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:55,452 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:55,452 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:55,453 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:55,453 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,453 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,453 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,453 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/17a3a06b-db4c-48f8-83e5-615edd657ff3?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/17a3a06b-db4c-48f8-83e5-615edd657ff3', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/17a3a06b-db4c-48f8-83e5-615edd657ff3?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/17a3a06b-db4c-48f8-83e5-615edd657ff3', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:55,453 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,453 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,453 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,453 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,453 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:55,453 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/17a3a06b-db4c-48f8-83e5-615edd657ff3 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083655Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:55,453 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083655Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | e1c5c815f833a82cd18eef0f5d7d64f8682781db4d447bedb768524c48c95ebb gunicorn-registry stdout | 2025-09-26 08:36:55,454 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | f1819e035f74493bee3b9c228e16ccf12f49663064affb322358266f5e2d61d5 gunicorn-registry stdout | 2025-09-26 08:36:55,454 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,454 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:55,454 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:55,460 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/17a3a06b-db4c-48f8-83e5-615edd657ff3?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:55,461 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8x0f-aasqjj-i60', 'x-amz-id-2': 'mg0l8x0f-aasqjj-i60', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:55 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:55,461 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/17a3a06b-db4c-48f8-83e5-615edd657ff368d650a7d73ec60008f9342d' gunicorn-registry stdout | 2025-09-26 08:36:55,462 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,462 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:55,462 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,462 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8x0f-aasqjj-i60', 'HostId': 'mg0l8x0f-aasqjj-i60', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8x0f-aasqjj-i60', 'x-amz-id-2': 'mg0l8x0f-aasqjj-i60', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:55 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/17a3a06b-db4c-48f8-83e5-615edd657ff3', 'UploadId': '68d650a7d73ec60008f9342d'} gunicorn-registry stdout | 2025-09-26 08:36:55,462 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:55,463 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/17a3a06b-db4c-48f8-83e5-615edd657ff3', 'UploadId': '68d650a7d73ec60008f9342d'} gunicorn-registry stdout | 2025-09-26 08:36:55,463 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,463 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,463 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,463 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,463 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,463 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,463 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:55,463 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:55,463 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:55,463 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:55,463 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,463 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,463 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,463 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/17a3a06b-db4c-48f8-83e5-615edd657ff3', 'query_string': {'uploadId': '68d650a7d73ec60008f9342d'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/17a3a06b-db4c-48f8-83e5-615edd657ff3', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/17a3a06b-db4c-48f8-83e5-615edd657ff3?uploadId=68d650a7d73ec60008f9342d', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/17a3a06b-db4c-48f8-83e5-615edd657ff3', 'UploadId': '68d650a7d73ec60008f9342d'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:55,463 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,464 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,464 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,464 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,464 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:55,464 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/17a3a06b-db4c-48f8-83e5-615edd657ff3 gunicorn-registry stdout | uploadId=68d650a7d73ec60008f9342d gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083655Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:55,464 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083655Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 9abcd9f1f31dde679da6abaa6b6bb7f43dcd26a78e2aae873638fcd04ee81452 gunicorn-registry stdout | 2025-09-26 08:36:55,464 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 0bd93c8d93e82f4b7a87b7c1b3b9bc14dc8e0e6c9837d386128c2923e8ebd6ca gunicorn-registry stdout | 2025-09-26 08:36:55,464 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,464 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:55,464 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:55,471 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/17a3a06b-db4c-48f8-83e5-615edd657ff3?uploadId=68d650a7d73ec60008f9342d HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:55,471 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8x0p-agrirz-pg5', 'x-amz-id-2': 'mg0l8x0p-agrirz-pg5', 'Date': 'Fri, 26 Sep 2025 08:36:55 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:55,471 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:55,471 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,471 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:55,471 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,471 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8x0p-agrirz-pg5', 'HostId': 'mg0l8x0p-agrirz-pg5', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8x0p-agrirz-pg5', 'x-amz-id-2': 'mg0l8x0p-agrirz-pg5', 'date': 'Fri, 26 Sep 2025 08:36:55 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:55,471 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob cf3647dc-78f9-4894-b015-7972a8f8ed61 took 0.020582199096679688 seconds gunicorn-registry stdout | 2025-09-26 08:36:55,472 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['cf3647dc-78f9-4894-b015-7972a8f8ed61', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,476 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, 'cf3647dc-78f9-4894-b015-7972a8f8ed61', 3730187, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAP//wGHDDwA2jgCp/jZNq/C/x7+cBbxNHefjTxy+/yrxf7tWnajCH0n96K3H/9h5+KN0df5TRRVVVNHb0v8LAAsAAAAAAAAAAFjHAQAAAABm++UGqDJYBxesacMcgrOwi7xn6rCv1uiv6lhrgbLLOZRiLg==', 9, '{"chunks": [["uploads/43b022bf-333a-4e07-9acf-fae930e10c5a", 0, 3730187]]}', 2, 9319936, datetime.datetime(2025, 9, 26, 8, 36, 54, 726054), None, None, 32]) gunicorn-registry stdout | 2025-09-26 08:36:55,480 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:55,480 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:55,480 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:55,481 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:55,481 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0'} gunicorn-registry stdout | 2025-09-26 08:36:55,481 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,481 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,481 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,481 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,481 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,481 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,481 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,482 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:55,482 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:55,482 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:55,482 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:55,482 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,482 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,482 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,482 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:55,482 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,482 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,482 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,482 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,482 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:55,483 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083655Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:55,483 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083655Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ce27b5a3dfba8653bac33f6ee903b4ce095da21ab615a57e47167646179e252a gunicorn-registry stdout | 2025-09-26 08:36:55,483 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ae5d4c58ba86ffabfa566a318add671af8da58d77d72b4b1fea11e928e5a56dd gunicorn-registry stdout | 2025-09-26 08:36:55,483 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,483 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:55,484 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:55,489 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:55,490 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8x18-as7sqr-16xg', 'x-amz-id-2': 'mg0l8x18-as7sqr-16xg', 'Content-Type': 'application/xml', 'Content-Length': '339', 'Date': 'Fri, 26 Sep 2025 08:36:55 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:55,490 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:55,490 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,490 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:55,490 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,490 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:55,490 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:55,490 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0 gunicorn-registry stdout | 2025-09-26 08:36:55,490 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:55,491 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:55,491 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:55,491 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:55,491 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,491 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,491 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,491 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,491 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,491 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,491 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,491 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:55,491 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:55,491 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:55,491 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:55,492 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,492 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,492 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,492 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/43b022bf-333a-4e07-9acf-fae930e10c5a', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/43b022bf-333a-4e07-9acf-fae930e10c5a', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/43b022bf-333a-4e07-9acf-fae930e10c5a', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/43b022bf-333a-4e07-9acf-fae930e10c5a'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:55,492 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,492 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,492 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,492 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,492 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,492 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:55,492 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/43b022bf-333a-4e07-9acf-fae930e10c5a gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083655Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:55,493 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083655Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | fb938f88e1c75f06f9e9f93a7ea3619f12d396be0249035f6ce8d5da27e223c3 gunicorn-registry stdout | 2025-09-26 08:36:55,493 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 5da71b7dcfffcdd50f24ba0780b286f787481403473952da6464425229c52618 gunicorn-registry stdout | 2025-09-26 08:36:55,493 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,493 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,493 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:55,493 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:55,498 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/43b022bf-333a-4e07-9acf-fae930e10c5a HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:55,498 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8x1i-axzcuf-wx6', 'x-amz-id-2': 'mg0l8x1i-axzcuf-wx6', 'ETag': '"5a0c70292ce44f1fe38afbc820d789ec-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:55 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '3730187', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:55 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:55,498 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:55,498 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,499 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:55,499 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,499 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:55,499 [257] [DEBUG] [s3transfer.utils] Acquiring 0 repositorygcworker stdout | 2025-09-26 08:36:55,498 [86] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositorygcworker.py', 'pid': '86'} gunicorn-registry stdout | 2025-09-26 08:36:55,499 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:55,499 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:55,499 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/43b022bf-333a-4e07-9acf-fae930e10c5a'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 'extra_args': {}, 'callbacks': [], 'size': 3730187} gunicorn-registry stdout | 2025-09-26 08:36:55,499 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,499 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,499 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,499 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,499 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,499 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,499 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,499 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,499 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,499 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,500 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:55,500 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:55,500 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:55,500 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:55,500 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,500 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,500 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,500 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/43b022bf-333a-4e07-9acf-fae930e10c5a', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/43b022bf-333a-4e07-9acf-fae930e10c5a', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:55,500 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,500 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,500 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,500 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,500 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,500 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:55,500 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/43b022bf-333a-4e07-9acf-fae930e10c5a gunicorn-registry stdout | x-amz-date:20250926T083655Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:55,500 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083655Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 6382cea6304c1fa9f1b8b9023d6d4f689ac7f8e5cdfe94d93de60b68f60d64f5 gunicorn-registry stdout | 2025-09-26 08:36:55,501 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | a33f775f2f75ae307100d5b1b87e838482c60ed769756b2c3a5ebd6f231592ba gunicorn-registry stdout | 2025-09-26 08:36:55,501 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,501 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,501 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:55,501 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:55,501 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:55,527 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:36:55,528 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8x1q-b2w5fv-sjv', 'x-amz-id-2': 'mg0l8x1q-b2w5fv-sjv', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:36:55 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:55,528 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:55.000Z"5a0c70292ce44f1fe38afbc820d789ec-1"' gunicorn-registry stdout | 2025-09-26 08:36:55,528 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,528 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,528 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:55,528 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,529 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:55,529 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob cf3647dc-78f9-4894-b015-7972a8f8ed61 with digest sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0 took 0.03900623321533203 seconds gunicorn-registry stdout | 2025-09-26 08:36:55,530 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['cf3647dc-78f9-4894-b015-7972a8f8ed61', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,533 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,535 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['d30078ff-e37e-46a7-81ce-c19d87e2a91c', 3730187, 9319936, True, True, 'sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0']) gunicorn-registry stdout | 2025-09-26 08:36:55,536 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [33, 9]) gunicorn-registry stdout | 2025-09-26 08:36:55,538 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,539 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 33, datetime.datetime(2025, 9, 26, 8, 36, 55, 539725), datetime.datetime(2025, 9, 26, 9, 36, 55, 539708)]) gunicorn-registry stdout | 2025-09-26 08:36:55,541 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [32]) gunicorn-registry stdout | 2025-09-26 08:36:55,545 [257] [DEBUG] [app] Ending request: urn:request:f1c2a960-8f08-476b-9a74-5d729943e59e (/v2/testorg/alpine/blobs/uploads/cf3647dc-78f9-4894-b015-7972a8f8ed61) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:f1c2a960-8f08-476b-9a74-5d729943e59e', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/cf3647dc-78f9-4894-b015-7972a8f8ed61?digest=sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 'path': '/v2/testorg/alpine/blobs/uploads/cf3647dc-78f9-4894-b015-7972a8f8ed61', 'parameters': {'digest': 'sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:55,545 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:55,545 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:55,546 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:55 +0000] "PUT /v2/testorg/alpine/blobs/uploads/cf3647dc-78f9-4894-b015-7972a8f8ed61?digest=sha256%3A33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:55 +0000] "PUT /v2/testorg/alpine/blobs/uploads/cf3647dc-78f9-4894-b015-7972a8f8ed61?digest=sha256%3A33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.131 1849 0.131) gunicorn-secscan stdout | 2025-09-26 08:36:55,633 [227] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '227'} gunicorn-secscan stdout | 2025-09-26 08:36:55,642 [228] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '228'} gunicorn-secscan stdout | 2025-09-26 08:36:55,658 [60] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '60'} gunicorn-registry stdout | 2025-09-26 08:36:55,724 [257] [DEBUG] [app] Starting request: urn:request:cabb7db1-d8b5-4006-934c-9d0c8e595a71 (/v2/testorg/alpine/blobs/sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:55,724 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:55,725 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:55,725 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:55,725 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:55,726 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:55,726 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:55,726 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:55,726 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:55,727 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,731 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,734 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:55,734 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee_2 gunicorn-registry stdout | 2025-09-26 08:36:55,735 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:55,736 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,740 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,744 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,747 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,752 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,755 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee_2: None gunicorn-registry stdout | 2025-09-26 08:36:55,755 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee_2: None gunicorn-registry stdout | 2025-09-26 08:36:55,755 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:55,756 [257] [DEBUG] [app] Ending request: urn:request:cabb7db1-d8b5-4006-934c-9d0c8e595a71 (/v2/testorg/alpine/blobs/sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:cabb7db1-d8b5-4006-934c-9d0c8e595a71', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'path': '/v2/testorg/alpine/blobs/sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:55,756 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:55,756 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:55,756 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:55 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:55 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.033 1714 0.033) gunicorn-registry stdout | 2025-09-26 08:36:55,854 [255] [DEBUG] [app] Starting request: urn:request:fe309a19-ab25-434c-bd43-f3a06832a5c2 (/v2/testorg/alpine/blobs/uploads/4fcb6e09-bf86-4868-a410-12e14781420c) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:55,855 [255] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '4fcb6e09-bf86-4868-a410-12e14781420c', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:55,855 [255] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:55,855 [255] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:55,856 [255] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:55,856 [255] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:55,856 [255] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:55,856 [255] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:55,856 [255] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:55,857 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,861 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,864 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,868 [255] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,871 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,875 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,878 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,882 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:55,885 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['4fcb6e09-bf86-4868-a410-12e14781420c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:55,889 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:55,889 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:55,890 [255] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:55,891 [255] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:55,891 [255] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:55,891 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,891 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,891 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,891 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,891 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,891 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,891 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,891 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,891 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:55,891 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:55,891 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:55,891 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:55,892 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,892 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,892 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler namespacegcworker stdout | 2025-09-26 08:36:55,891 [66] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'namespacegcworker.py', 'pid': '66'} gunicorn-registry stdout | 2025-09-26 08:36:55,892 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:55,893 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,893 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,893 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,893 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,893 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:55,893 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083655Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:55,893 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083655Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 91fd2818cb42692290de5d81ddf0e83386a2af4fa962d26b13e4bfcad62f2229 gunicorn-registry stdout | 2025-09-26 08:36:55,893 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b2593e6f9ca47606b5c3be776954edf10d4d144ea95f95d7feb60f0f8943c0cd gunicorn-registry stdout | 2025-09-26 08:36:55,893 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,893 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:55,894 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:55,894 [255] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:36:55,921 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:55,922 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8xd8-1e1wcg-hy6', 'x-amz-id-2': 'mg0l8xd8-1e1wcg-hy6', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:55 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:55,922 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb6768d650a7d73ec60008f93431' gunicorn-registry stdout | 2025-09-26 08:36:55,922 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,922 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:55,922 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,922 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8xd8-1e1wcg-hy6', 'HostId': 'mg0l8xd8-1e1wcg-hy6', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8xd8-1e1wcg-hy6', 'x-amz-id-2': 'mg0l8xd8-1e1wcg-hy6', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:55 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67', 'UploadId': '68d650a7d73ec60008f93431'} gunicorn-registry stdout | 2025-09-26 08:36:55,922 [255] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:55,923 [255] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:55,923 [255] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:55,924 [255] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67', 'UploadId': '68d650a7d73ec60008f93431', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc5e4d0>, 'ContentLength': 584} gunicorn-registry stdout | 2025-09-26 08:36:55,924 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,924 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,924 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,924 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,924 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,924 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,924 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,924 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,924 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:55,924 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:55,924 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:55,924 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:55,924 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,925 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,925 [255] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:55,925 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,925 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,925 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67', 'query_string': {'uploadId': '68d650a7d73ec60008f93431', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '584', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'CK8Sea71uN1wGXRQkxXpzw==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc5e4d0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67?uploadId=68d650a7d73ec60008f93431&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67', 'UploadId': '68d650a7d73ec60008f93431', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc5e4d0>, 'ContentLength': 584}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:55,925 [255] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,925 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:55,925 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,925 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,925 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:55,925 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67 gunicorn-registry stdout | partNumber=1&uploadId=68d650a7d73ec60008f93431 gunicorn-registry stdout | content-length:584 gunicorn-registry stdout | content-md5:CK8Sea71uN1wGXRQkxXpzw== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083655Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:55,925 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083655Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ed0357f0ed91512357819b31f46aa3b35a4d0f870f302f000931653a81fc077d gunicorn-registry stdout | 2025-09-26 08:36:55,925 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | adfbaf348bdfce7fcc3878f5e335aca5e5a08ffbb686fe08e6d234b9b66c22af gunicorn-registry stdout | 2025-09-26 08:36:55,925 [255] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:55,926 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:55,926 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:55,926 [255] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:55,927 [255] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:36:56,002 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67?uploadId=68d650a7d73ec60008f93431&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:56,002 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8xdj-1kepdn-qjb', 'x-amz-id-2': 'mg0l8xdj-1kepdn-qjb', 'ETag': '"08af1279aef5b8dd701974509315e9cf"', 'Date': 'Fri, 26 Sep 2025 08:36:56 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:56,002 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:56,003 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,003 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:56,003 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,003 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8xdj-1kepdn-qjb', 'HostId': 'mg0l8xdj-1kepdn-qjb', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8xdj-1kepdn-qjb', 'x-amz-id-2': 'mg0l8xdj-1kepdn-qjb', 'etag': '"08af1279aef5b8dd701974509315e9cf"', 'date': 'Fri, 26 Sep 2025 08:36:56 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"08af1279aef5b8dd701974509315e9cf"'} gunicorn-registry stdout | 2025-09-26 08:36:56,003 [255] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67', 'UploadId': '68d650a7d73ec60008f93431', 'MultipartUpload': {'Parts': [{'ETag': '"08af1279aef5b8dd701974509315e9cf"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:36:56,003 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,003 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,003 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,003 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,003 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,003 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,003 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,003 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:56,003 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:56,003 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:56,003 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:56,004 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,004 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,004 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,004 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67', 'query_string': {'uploadId': '68d650a7d73ec60008f93431'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"08af1279aef5b8dd701974509315e9cf"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67?uploadId=68d650a7d73ec60008f93431', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67', 'UploadId': '68d650a7d73ec60008f93431', 'MultipartUpload': {'Parts': [{'ETag': '"08af1279aef5b8dd701974509315e9cf"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:56,004 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,004 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,004 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,004 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,005 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:56,005 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67 gunicorn-registry stdout | uploadId=68d650a7d73ec60008f93431 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:57cfdbe7d9b6d09bb0db90cacfc6382d22618be7a915bb3782a48b15c43e9b28 gunicorn-registry stdout | x-amz-date:20250926T083656Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 57cfdbe7d9b6d09bb0db90cacfc6382d22618be7a915bb3782a48b15c43e9b28 gunicorn-registry stdout | 2025-09-26 08:36:56,005 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083656Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 979e98497c0d437c4ca6d75df2710f0c3a90f5fec5614efeb370f8acd5d6aa1a gunicorn-registry stdout | 2025-09-26 08:36:56,005 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | e06373124aed03fe4ca94322e8451df23a825c951da8436b2be9512f0e50f6ff gunicorn-registry stdout | 2025-09-26 08:36:56,005 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,005 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:56,005 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:56,020 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67?uploadId=68d650a7d73ec60008f93431 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:36:56,020 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8xfq-2vcey2-sbe', 'x-amz-id-2': 'mg0l8xfq-2vcey2-sbe', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:36:56 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:56,020 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67"753b145ff6db4e3b358fe0e389c37737-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67?uploadId=68d650a7d73ec60008f93431' gunicorn-registry stdout | 2025-09-26 08:36:56,021 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,021 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,021 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:56,021 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,021 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8xfq-2vcey2-sbe', 'HostId': 'mg0l8xfq-2vcey2-sbe', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8xfq-2vcey2-sbe', 'x-amz-id-2': 'mg0l8xfq-2vcey2-sbe', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:36:56 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67?uploadId=68d650a7d73ec60008f93431', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67', 'ETag': '"753b145ff6db4e3b358fe0e389c37737-1"'} gunicorn-registry stdout | 2025-09-26 08:36:56,021 [255] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:56,022 [255] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:56,022 [255] [DEBUG] [data.registry_model.blobuploader] Uploaded 584 bytes to blob 4fcb6e09-bf86-4868-a410-12e14781420c took 0.13243651390075684 seconds gunicorn-registry stdout | 2025-09-26 08:36:56,023 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['4fcb6e09-bf86-4868-a410-12e14781420c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,027 [255] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '4fcb6e09-bf86-4868-a410-12e14781420c', 584, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwMmM0OSJdfX0wMTM2MzY5NGNmZDFiY2ZiMWU1ZThhNDczZWZlY2UyNWI4MThmM2EzNjcxYTUxNGUxODUxN2M1MAgAAAAAAAAAABIAAAAAAABaxsZE482RQhPbvxCMNUZ/Rzssz3ummfLi23the8Jku5RiLg==', 9, '{"chunks": [["uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67", 0, 584]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 36, 55, 809602), None, None, 33]) gunicorn-registry stdout | 2025-09-26 08:36:56,031 [255] [DEBUG] [app] Ending request: urn:request:fe309a19-ab25-434c-bd43-f3a06832a5c2 (/v2/testorg/alpine/blobs/uploads/4fcb6e09-bf86-4868-a410-12e14781420c) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:fe309a19-ab25-434c-bd43-f3a06832a5c2', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/4fcb6e09-bf86-4868-a410-12e14781420c', 'path': '/v2/testorg/alpine/blobs/uploads/4fcb6e09-bf86-4868-a410-12e14781420c', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:56,031 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:56,032 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:56,032 [255] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:56 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/4fcb6e09-bf86-4868-a410-12e14781420c HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:56 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/4fcb6e09-bf86-4868-a410-12e14781420c HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.179 2356 0.179) gunicorn-registry stdout | 2025-09-26 08:36:56,072 [257] [DEBUG] [app] Starting request: urn:request:43e279a7-bfcb-4f52-97a2-92f3bac888da (/v2/testorg/alpine/blobs/uploads/4fcb6e09-bf86-4868-a410-12e14781420c) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:56,072 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '4fcb6e09-bf86-4868-a410-12e14781420c', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:56,072 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:56,072 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:56,074 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:56,074 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:56,074 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:56,074 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:56,074 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:56,075 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,079 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,082 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,086 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,089 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,093 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,097 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,100 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:56,103 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['4fcb6e09-bf86-4868-a410-12e14781420c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,107 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:56,107 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:56,107 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:56,108 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:56,108 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a0f6ffa1-5cdf-40a7-8a20-f442b94d33e6', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/a0f6ffa1-5cdf-40a7-8a20-f442b94d33e6?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a0f6ffa1-5cdf-40a7-8a20-f442b94d33e6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a0f6ffa1-5cdf-40a7-8a20-f442b94d33e6?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a0f6ffa1-5cdf-40a7-8a20-f442b94d33e6', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,109 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,110 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:56,110 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a0f6ffa1-5cdf-40a7-8a20-f442b94d33e6 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083656Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:56,110 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083656Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 2f26dd09b5a329dc8c66f53f0d0691c99b1bc64415e964589ff3fe7bb5077b66 gunicorn-registry stdout | 2025-09-26 08:36:56,110 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 293a54efa3f091f3ea46b3a7901b2fe7d58a06c664c81b9dc97fe8c44eba9b29 gunicorn-registry stdout | 2025-09-26 08:36:56,110 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,110 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:56,110 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:56,115 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a0f6ffa1-5cdf-40a7-8a20-f442b94d33e6?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:56,116 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8xin-4lxxcl-fk3', 'x-amz-id-2': 'mg0l8xin-4lxxcl-fk3', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:56 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:56,116 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/a0f6ffa1-5cdf-40a7-8a20-f442b94d33e668d650a8d73ec60008f93437' gunicorn-registry stdout | 2025-09-26 08:36:56,116 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,116 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:56,116 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,116 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8xin-4lxxcl-fk3', 'HostId': 'mg0l8xin-4lxxcl-fk3', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8xin-4lxxcl-fk3', 'x-amz-id-2': 'mg0l8xin-4lxxcl-fk3', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:56 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a0f6ffa1-5cdf-40a7-8a20-f442b94d33e6', 'UploadId': '68d650a8d73ec60008f93437'} gunicorn-registry stdout | 2025-09-26 08:36:56,116 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:56,116 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a0f6ffa1-5cdf-40a7-8a20-f442b94d33e6', 'UploadId': '68d650a8d73ec60008f93437'} gunicorn-registry stdout | 2025-09-26 08:36:56,117 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,117 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,117 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,117 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,117 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,117 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,117 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:56,117 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:56,118 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:56,118 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:56,118 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,118 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,118 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,118 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/a0f6ffa1-5cdf-40a7-8a20-f442b94d33e6', 'query_string': {'uploadId': '68d650a8d73ec60008f93437'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a0f6ffa1-5cdf-40a7-8a20-f442b94d33e6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a0f6ffa1-5cdf-40a7-8a20-f442b94d33e6?uploadId=68d650a8d73ec60008f93437', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a0f6ffa1-5cdf-40a7-8a20-f442b94d33e6', 'UploadId': '68d650a8d73ec60008f93437'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:56,118 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,118 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,118 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,118 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,118 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:56,119 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a0f6ffa1-5cdf-40a7-8a20-f442b94d33e6 gunicorn-registry stdout | uploadId=68d650a8d73ec60008f93437 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083656Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:56,119 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083656Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 1cfff89b130f550d0a2d24eff2c2773e988b88ea7ea3eab11411db143adbe8c8 gunicorn-registry stdout | 2025-09-26 08:36:56,119 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | cd4e78a3b91ed67a310c3b77d9f1c7bcfe044c5fc454b31d4b59233842eb6a41 gunicorn-registry stdout | 2025-09-26 08:36:56,119 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,119 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:56,119 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:56,125 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a0f6ffa1-5cdf-40a7-8a20-f442b94d33e6?uploadId=68d650a8d73ec60008f93437 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:56,125 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8xiw-4r1966-5bt', 'x-amz-id-2': 'mg0l8xiw-4r1966-5bt', 'Date': 'Fri, 26 Sep 2025 08:36:56 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:56,125 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:56,125 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,126 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:56,126 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,126 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8xiw-4r1966-5bt', 'HostId': 'mg0l8xiw-4r1966-5bt', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8xiw-4r1966-5bt', 'x-amz-id-2': 'mg0l8xiw-4r1966-5bt', 'date': 'Fri, 26 Sep 2025 08:36:56 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:56,126 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 4fcb6e09-bf86-4868-a410-12e14781420c took 0.01886892318725586 seconds gunicorn-registry stdout | 2025-09-26 08:36:56,126 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['4fcb6e09-bf86-4868-a410-12e14781420c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,130 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '4fcb6e09-bf86-4868-a410-12e14781420c', 584, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwMmM0OSJdfX0wMTM2MzY5NGNmZDFiY2ZiMWU1ZThhNDczZWZlY2UyNWI4MThmM2EzNjcxYTUxNGUxODUxN2M1MAgAAAAAAAAAABIAAAAAAABaxsZE482RQhPbvxCMNUZ/Rzssz3ummfLi23the8Jku5RiLg==', 9, '{"chunks": [["uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67", 0, 584]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 36, 55, 809602), None, None, 33]) gunicorn-registry stdout | 2025-09-26 08:36:56,135 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:56,135 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:56,135 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:56,136 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:56,136 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee'} gunicorn-registry stdout | 2025-09-26 08:36:56,136 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,136 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,137 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,137 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,137 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,137 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,137 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,137 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:56,137 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:56,137 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:56,137 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:56,137 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,137 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,137 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,137 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:56,137 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,137 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,137 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,137 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,137 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:56,138 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083656Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:56,138 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083656Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 948c40d92b4ae739db7605b7ec108243180519c3aa3110d1889fec9cebd4e9bc gunicorn-registry stdout | 2025-09-26 08:36:56,138 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 7d6a9de7766272c741847f749613485c4ce163e2b812ae5d24859250a2c53449 gunicorn-registry stdout | 2025-09-26 08:36:56,138 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,138 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:56,138 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:56,143 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:56,143 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8xjf-52c3cb-12e9', 'x-amz-id-2': 'mg0l8xjf-52c3cb-12e9', 'Content-Type': 'application/xml', 'Content-Length': '339', 'Date': 'Fri, 26 Sep 2025 08:36:56 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:56,143 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:56,143 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,143 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:56,143 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,143 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:56,143 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:56,143 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee gunicorn-registry stdout | 2025-09-26 08:36:56,144 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:56,144 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:56,144 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:56,144 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:56,144 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,144 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,144 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,144 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,144 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,144 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,144 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,144 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:56,144 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:56,144 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:56,145 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:56,145 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,145 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,145 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,145 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:56,145 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,145 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,145 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,145 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,145 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,145 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:56,145 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083656Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:56,145 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083656Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 6bfdacb0ba180e3bf5f6012f4e7b0f22e8af2c63b0f12f6f52bed954c9512b7b gunicorn-registry stdout | 2025-09-26 08:36:56,145 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 7f2e0bb8a89550790133aacc7dac1b1548969844a08c72308720e4b19fab473f gunicorn-registry stdout | 2025-09-26 08:36:56,145 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,145 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,146 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:56,146 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:56,150 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:56,150 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8xjm-56ytvc-7w0', 'x-amz-id-2': 'mg0l8xjm-56ytvc-7w0', 'ETag': '"753b145ff6db4e3b358fe0e389c37737-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:56 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '584', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:56 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:56,150 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:56,150 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,150 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:56,150 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,150 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:56,151 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:56,151 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:56,151 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:56,151 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'extra_args': {}, 'callbacks': [], 'size': 584} gunicorn-registry stdout | 2025-09-26 08:36:56,151 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,151 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,151 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,151 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,151 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,151 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,151 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,151 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,151 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,151 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,151 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:56,151 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:56,152 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:56,152 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:56,152 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,152 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,152 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,152 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:56,152 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,152 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,152 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,152 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,152 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,152 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:56,152 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/86839dae-9943-43ad-8b06-d6a13cb5cb67 gunicorn-registry stdout | x-amz-date:20250926T083656Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:56,152 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083656Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 5ddfeaa4cded7ebedde590fd8842138d0c469caddb9c328b671f3798a92905c3 gunicorn-registry stdout | 2025-09-26 08:36:56,152 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 23e028339d4a6c8b5b6b72f5cb0e7d3444153b38d1a38bc7da21961ad079a2f7 gunicorn-registry stdout | 2025-09-26 08:36:56,152 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,152 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,153 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:56,153 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:56,153 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:56,179 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:36:56,179 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8xju-5b8ani-1c54', 'x-amz-id-2': 'mg0l8xju-5b8ani-1c54', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:36:56 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:56,179 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:56.000Z"753b145ff6db4e3b358fe0e389c37737-1"' gunicorn-registry stdout | 2025-09-26 08:36:56,180 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,180 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,180 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:56,180 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,181 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:56,181 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 4fcb6e09-bf86-4868-a410-12e14781420c with digest sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee took 0.03796100616455078 seconds gunicorn-registry stdout | 2025-09-26 08:36:56,182 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['4fcb6e09-bf86-4868-a410-12e14781420c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,186 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,187 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['ae87bbff-c1ad-434d-84aa-28ff0e2a2281', 584, None, True, True, 'sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee']) gunicorn-registry stdout | 2025-09-26 08:36:56,189 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [34, 9]) gunicorn-registry stdout | 2025-09-26 08:36:56,190 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,193 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 34, datetime.datetime(2025, 9, 26, 8, 36, 56, 192180), datetime.datetime(2025, 9, 26, 9, 36, 56, 192163)]) gunicorn-registry stdout | 2025-09-26 08:36:56,194 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [33]) gunicorn-registry stdout | 2025-09-26 08:36:56,198 [257] [DEBUG] [app] Ending request: urn:request:43e279a7-bfcb-4f52-97a2-92f3bac888da (/v2/testorg/alpine/blobs/uploads/4fcb6e09-bf86-4868-a410-12e14781420c) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:43e279a7-bfcb-4f52-97a2-92f3bac888da', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/4fcb6e09-bf86-4868-a410-12e14781420c?digest=sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'path': '/v2/testorg/alpine/blobs/uploads/4fcb6e09-bf86-4868-a410-12e14781420c', 'parameters': {'digest': 'sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:56,199 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:56,199 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:56,199 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:56 +0000] "PUT /v2/testorg/alpine/blobs/uploads/4fcb6e09-bf86-4868-a410-12e14781420c?digest=sha256%3Acc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:56 +0000] "PUT /v2/testorg/alpine/blobs/uploads/4fcb6e09-bf86-4868-a410-12e14781420c?digest=sha256%3Acc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.128 1849 0.128) gunicorn-registry stdout | 2025-09-26 08:36:56,258 [255] [DEBUG] [app] Starting request: urn:request:6d3133dd-a112-440d-a76b-878e70c42779 (/v2/testorg/alpine/manifests/sha256:b058f50906dff72a20c83582eddad899cd501b7e4a0caca511cfdad19a129c30) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:36:56,259 [255] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:b058f50906dff72a20c83582eddad899cd501b7e4a0caca511cfdad19a129c30', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:56,259 [255] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:56,259 [255] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:56,260 [255] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:56,260 [255] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:56,260 [255] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:56,260 [255] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:56,260 [255] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:56,262 [255] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:36:56,262 [255] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:36:56,262 [255] [DEBUG] [data.cache.impl] Found result in cache for key repository_lookup_testorg_alpine: {'id': 2, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': 0, 'namespace_user': {'stripe_id': None}} gunicorn-registry stdout | 2025-09-26 08:36:56,263 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:b058f50906dff72a20c83582eddad899cd501b7e4a0caca511cfdad19a129c30', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,268 [255] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [2, 'sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 1, 2, 'sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 1]) gunicorn-registry stdout | 2025-09-26 08:36:56,272 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:b058f50906dff72a20c83582eddad899cd501b7e4a0caca511cfdad19a129c30', 2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,277 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "mediatype" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:56,280 [255] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [2, 'sha256:b058f50906dff72a20c83582eddad899cd501b7e4a0caca511cfdad19a129c30', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee",\n "size": 584\n },\n "layers": [\n {\n "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",\n "digest": "sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0",\n "size": 3730187\n }\n ],\n "annotations": {\n "com.docker.official-images.bashbrew.arch": "ppc64le",\n "org.opencontainers.image.base.name": "scratch",\n "org.opencontainers.image.created": "2025-05-30T16:20:41Z",\n "org.opencontainers.image.revision": "5213c5a71c73d39d5896657909e753effb1c05ff",\n "org.opencontainers.image.source": "https://github.com/alpinelinux/docker-alpine.git#5213c5a71c73d39d5896657909e753effb1c05ff:ppc64le",\n "org.opencontainers.image.url": "https://hub.docker.com/_/alpine",\n "org.opencontainers.image.version": "3.22.0"\n }\n}', 'application/vnd.oci.image.config.v1+json', 3730187, None, True, None, True]) gunicorn-registry stdout | 2025-09-26 08:36:56,282 [255] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [2, 12, 33, 2, 12, 34]) gunicorn-registry stdout | 2025-09-26 08:36:56,284 [255] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,285 [255] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [3, 1]) gunicorn-registry stdout | 2025-09-26 08:36:56,287 [255] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 33, 12, 1]) gunicorn-registry stdout | 2025-09-26 08:36:56,288 [255] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 34, 12, 1]) gunicorn-registry stdout | 2025-09-26 08:36:56,289 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,291 [255] [INFO] [data.model.quota] updating namespace size for manifest 12 in namespace 3, QuotaOperation.ADD 3730771 gunicorn-registry stdout | 2025-09-26 08:36:56,291 [255] [DEBUG] [peewee] ('UPDATE "quotanamespacesize" SET "size_bytes" = ("quotanamespacesize"."size_bytes" + %s) WHERE ("quotanamespacesize"."namespace_user_id" = %s)', [3730771, 3]) gunicorn-registry stdout | 2025-09-26 08:36:56,292 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,294 [255] [INFO] [data.model.quota] updating repository size for manifest 12 in repository 2, QuotaOperation.ADD 3730771 gunicorn-registry stdout | 2025-09-26 08:36:56,294 [255] [DEBUG] [peewee] ('UPDATE "quotarepositorysize" SET "size_bytes" = ("quotarepositorysize"."size_bytes" + %s) WHERE ("quotarepositorysize"."repository_id" = %s)', [3730771, 2]) gunicorn-registry stdout | 2025-09-26 08:36:56,296 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [12, None, 1758879416296, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,298 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "tagkind" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:56,301 [255] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-764ca30f-6cdf-4035-91f6-ad1f8514e898', 2, 12, 1758875816296, 1758879416296, False, True, False, 1]) gunicorn-registry stdout | 2025-09-26 08:36:56,304 [255] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,309 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['ae87bbff-c1ad-434d-84aa-28ff0e2a2281']) gunicorn-registry stdout | 2025-09-26 08:36:56,312 [255] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:56,313 [255] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:56,314 [255] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee'} gunicorn-registry stdout | 2025-09-26 08:36:56,314 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,314 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,314 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,314 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,314 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,314 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,314 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,315 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:56,315 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:56,315 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:56,315 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:56,315 [255] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,315 [255] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,315 [255] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,315 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:56,316 [255] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,316 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,316 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,316 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,316 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:56,316 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083656Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:56,316 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083656Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | b9fd317af02c00ca7e414c1a115ad128847db77e9ce8cd6cee978069fd8fd6f7 gunicorn-registry stdout | 2025-09-26 08:36:56,316 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 43f5ed880a65d0762b9eb664ce3c85dbf7ca75fb5a61f3650805ab2b43e2fa58 gunicorn-registry stdout | 2025-09-26 08:36:56,316 [255] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,317 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:56,318 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem repositoryactioncounter stdout | 2025-09-26 08:36:56,372 [80] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositoryactioncounter.py', 'pid': '80'} gunicorn-registry stdout | 2025-09-26 08:36:56,381 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee HTTP/1.1" 200 584 gunicorn-registry stdout | 2025-09-26 08:36:56,382 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8xof-81hz6l-cpu', 'x-amz-id-2': 'mg0l8xof-81hz6l-cpu', 'ETag': '"753b145ff6db4e3b358fe0e389c37737-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:56 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '584', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:56 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:56,382 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:36:56,383 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:56,383 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:56,383 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:56,384 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8xof-81hz6l-cpu', 'HostId': 'mg0l8xof-81hz6l-cpu', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8xof-81hz6l-cpu', 'x-amz-id-2': 'mg0l8xof-81hz6l-cpu', 'etag': '"753b145ff6db4e3b358fe0e389c37737-1"', 'last-modified': 'Fri, 26 Sep 2025 08:36:56 GMT', 'content-type': 'application/octet-stream', 'content-length': '584', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:36:56 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 36, 56, tzinfo=tzutc()), 'ContentLength': 584, 'ETag': '"753b145ff6db4e3b358fe0e389c37737-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:36:56,385 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "mediatype" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:56,390 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."mutable" FROM "labelsourcetype" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:56,393 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [12, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,397 [255] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['7df5be4f-a10f-48a9-a9d7-fa5ac7a83dee', 'com.docker.official-images.bashbrew.arch', 'ppc64le', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:56,399 [255] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 12, 36]) gunicorn-registry stdout | 2025-09-26 08:36:56,403 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [12, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,408 [255] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['81d4c057-8172-454c-b0f4-7f4879a67cb3', 'org.opencontainers.image.base.name', 'scratch', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:56,410 [255] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 12, 37]) gunicorn-registry stdout | 2025-09-26 08:36:56,414 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [12, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,418 [255] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['60a8bb9f-d5bd-43df-bea0-87a70378a098', 'org.opencontainers.image.created', '2025-05-30T16:20:41Z', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:56,420 [255] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 12, 38]) gunicorn-registry stdout | 2025-09-26 08:36:56,424 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [12, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,428 [255] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['2d858c74-7232-41b2-99e6-193e72347a99', 'org.opencontainers.image.revision', '5213c5a71c73d39d5896657909e753effb1c05ff', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:56,431 [255] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 12, 39]) gunicorn-registry stdout | 2025-09-26 08:36:56,435 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [12, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,438 [255] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['45c7e64e-fa96-4fb7-bd69-5c7d2750b49a', 'org.opencontainers.image.source', 'https://github.com/alpinelinux/docker-alpine.git#5213c5a71c73d39d5896657909e753effb1c05ff:ppc64le', 1, 1]) notificationworker stdout | 2025-09-26 08:36:56,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:36:56,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:06.440077+00:00 (in 9.999575 seconds) notificationworker stdout | 2025-09-26 08:36:56,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:06 GMT)" (scheduled at 2025-09-26 08:36:56.440077+00:00) notificationworker stdout | 2025-09-26 08:36:56,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. gunicorn-registry stdout | 2025-09-26 08:36:56,441 [255] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 12, 40]) notificationworker stdout | 2025-09-26 08:36:56,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 36, 56, 440813), True, datetime.datetime(2025, 9, 26, 8, 36, 56, 440813), 0, 'notification/%', 50, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,444 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [12, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,448 [255] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['db74e30b-5b61-4916-b226-fbcb890f78e7', 'org.opencontainers.image.url', 'https://hub.docker.com/_/alpine', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:56,450 [255] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 12, 41]) notificationworker stdout | 2025-09-26 08:36:56,454 [68] [DEBUG] [workers.queueworker] No more work. gunicorn-registry stdout | 2025-09-26 08:36:56,454 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [12, 1, 0]) notificationworker stdout | 2025-09-26 08:36:56,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:36:56,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:06 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:36:56,458 [255] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['ad3c5084-95ef-4b73-9239-ecf25ee54526', 'org.opencontainers.image.version', '3.22.0', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:36:56,462 [255] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 12, 42]) gunicorn-registry stdout | 2025-09-26 08:36:56,466 [255] [DEBUG] [app] Ending request: urn:request:6d3133dd-a112-440d-a76b-878e70c42779 (/v2/testorg/alpine/manifests/sha256:b058f50906dff72a20c83582eddad899cd501b7e4a0caca511cfdad19a129c30) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:6d3133dd-a112-440d-a76b-878e70c42779', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/manifests/sha256:b058f50906dff72a20c83582eddad899cd501b7e4a0caca511cfdad19a129c30', 'path': '/v2/testorg/alpine/manifests/sha256:b058f50906dff72a20c83582eddad899cd501b7e4a0caca511cfdad19a129c30', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'size': 584}, 'layers': [{'mediaType': 'application/vnd.oci.image.layer.v1.tar+gzip', 'digest': 'sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 'size': 3730187}], 'annotations': {'com.docker.official-images.bashbrew.arch': 'ppc64le', 'org.opencontainers.image.base.name': 'scratch', 'org.opencontainers.image.created': '2025-05-30T16:20:41Z', 'org.opencontainers.image.revision': '5213c5a71c73d39d5896657909e753effb1c05ff', 'org.opencontainers.image.source': 'https://github.com/alpinelinux/docker-alpine.git#5213c5a71c73d39d5896657909e753effb1c05ff:ppc64le', 'org.opencontainers.image.url': 'https://hub.docker.com/_/alpine', 'org.opencontainers.image.version': '3.22.0'}}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:56,466 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:56,466 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:36:56 +0000] "PUT /v2/testorg/alpine/manifests/sha256:b058f50906dff72a20c83582eddad899cd501b7e4a0caca511cfdad19a129c30 HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.209 2845 0.209) gunicorn-registry stdout | 2025-09-26 08:36:56,466 [255] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:36:56 +0000] "PUT /v2/testorg/alpine/manifests/sha256:b058f50906dff72a20c83582eddad899cd501b7e4a0caca511cfdad19a129c30 HTTP/1.1" 201 2 "-" "skopeo/1.14.5" expiredappspecifictokenworker stdout | 2025-09-26 08:36:56,479 [55] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'expiredappspecifictokenworker.py', 'pid': '55'} gunicorn-web stdout | 2025-09-26 08:36:56,520 [240] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '240'} gunicorn-web stdout | 2025-09-26 08:36:56,527 [239] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '239'} gunicorn-web stdout | 2025-09-26 08:36:56,601 [242] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '242'} gunicorn-web stdout | 2025-09-26 08:36:56,606 [61] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '61'} gunicorn-web stdout | 2025-09-26 08:36:56,610 [241] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '241'} builder stdout | 2025-09-26 08:36:56,792 [51] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'builder.py', 'pid': '51'} gunicorn-registry stdout | 2025-09-26 08:36:56,875 [256] [DEBUG] [app] Starting request: urn:request:d998a500-7bfd-4b0f-8f7c-c9e14705f9ac (/v2/testorg/alpine/blobs/sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:56,875 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:56,875 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:56,875 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:56,876 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:56,877 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:56,877 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:56,877 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:56,877 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:56,878 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,883 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,887 [256] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:56,887 [256] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e_2 gunicorn-registry stdout | 2025-09-26 08:36:56,887 [256] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:56,888 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,892 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,895 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,899 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,903 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:56,906 [256] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e_2: None gunicorn-registry stdout | 2025-09-26 08:36:56,906 [256] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e_2: None gunicorn-registry stdout | 2025-09-26 08:36:56,906 [256] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:56,907 [256] [DEBUG] [app] Ending request: urn:request:d998a500-7bfd-4b0f-8f7c-c9e14705f9ac (/v2/testorg/alpine/blobs/sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:d998a500-7bfd-4b0f-8f7c-c9e14705f9ac', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e', 'path': '/v2/testorg/alpine/blobs/sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:56,907 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:56,907 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:56,907 [256] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:56 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:56 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.033 1714 0.033) exportactionlogsworker stdout | 2025-09-26 08:36:56,945 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:36:56,945 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:45.946993+00:00 (in 49.001366 seconds) exportactionlogsworker stdout | 2025-09-26 08:36:56,945 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:41:56 GMT)" (scheduled at 2025-09-26 08:36:56.945132+00:00) exportactionlogsworker stdout | 2025-09-26 08:36:56,946 [56] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [False, datetime.datetime(2025, 9, 26, 8, 36, 56, 945936), 'exportactionlogs/%']) exportactionlogsworker stdout | 2025-09-26 08:36:56,958 [56] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 36, 56, 945936), True, datetime.datetime(2025, 9, 26, 8, 36, 56, 945936), 0, 'exportactionlogs/%']) exportactionlogsworker stdout | 2025-09-26 08:36:56,963 [56] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) AND NOT ("t1"."queue_name" IN (SELECT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s)))))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 36, 56, 945936), True, datetime.datetime(2025, 9, 26, 8, 36, 56, 945936), 0, 'exportactionlogs/%', False, datetime.datetime(2025, 9, 26, 8, 36, 56, 945936), 'exportactionlogs/%']) exportactionlogsworker stdout | 2025-09-26 08:36:56,966 [56] [DEBUG] [data.database] Disconnecting from database. exportactionlogsworker stdout | 2025-09-26 08:36:56,966 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:41:56 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:36:57,116 [253] [DEBUG] [app] Starting request: urn:request:045f89fc-4ad6-45e4-9d7b-b879c5a75391 (/v2/testorg/alpine/blobs/sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:57,116 [253] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:57,116 [253] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:57,116 [253] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:57,117 [253] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:57,118 [253] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:57,118 [253] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:57,118 [253] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:57,118 [253] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:57,118 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,123 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,127 [253] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:57,127 [253] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e_2 gunicorn-registry stdout | 2025-09-26 08:36:57,127 [253] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:57,128 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,132 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,135 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,139 [253] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,143 [253] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,147 [253] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e_2: None gunicorn-registry stdout | 2025-09-26 08:36:57,147 [253] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e_2: None gunicorn-registry stdout | 2025-09-26 08:36:57,147 [253] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:57,148 [253] [DEBUG] [app] Ending request: urn:request:045f89fc-4ad6-45e4-9d7b-b879c5a75391 (/v2/testorg/alpine/blobs/sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:045f89fc-4ad6-45e4-9d7b-b879c5a75391', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e', 'path': '/v2/testorg/alpine/blobs/sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:57,148 [253] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:57,148 [253] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:57 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.035 1714 0.035) gunicorn-registry stdout | 2025-09-26 08:36:57,149 [253] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:57 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e HTTP/1.1" 404 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:36:57,228 [250] [DEBUG] [app] Starting request: urn:request:78db5d49-1068-4007-b6c7-2548b91d77e0 (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:57,228 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:57,228 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:57,228 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:57,229 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:57,229 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:57,229 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:57,229 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:57,229 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:57,230 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,234 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,237 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,241 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,245 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,248 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,252 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:57,256 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,260 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, '60727c05-0b59-4105-9d80-d25cc797b9a5', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 57, 259740)]) gunicorn-registry stdout | 2025-09-26 08:36:57,265 [250] [DEBUG] [app] Ending request: urn:request:78db5d49-1068-4007-b6c7-2548b91d77e0 (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:78db5d49-1068-4007-b6c7-2548b91d77e0', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:57,265 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:57,265 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:57,265 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:57 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:57 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.038 1693 0.038) gunicorn-registry stdout | 2025-09-26 08:36:57,308 [256] [DEBUG] [app] Starting request: urn:request:989f1d96-9c17-4f9c-8c2a-3da8d5674830 (/v2/testorg/alpine/blobs/uploads/60727c05-0b59-4105-9d80-d25cc797b9a5) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:57,308 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '60727c05-0b59-4105-9d80-d25cc797b9a5', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:57,308 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:57,308 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:57,309 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:57,309 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:57,309 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:57,309 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:57,309 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:57,310 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,314 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,318 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,322 [256] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,325 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,328 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,332 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) securityworker stdout | 2025-09-26 08:36:57,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gunicorn-registry stdout | 2025-09-26 08:36:57,336 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) securityworker stdout | 2025-09-26 08:36:57,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:19.334273+00:00 (in 21.998307 seconds) securityworker stdout | 2025-09-26 08:36:57,336 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:27 GMT)" (scheduled at 2025-09-26 08:36:57.335452+00:00) securityworker stdout | 2025-09-26 08:36:57,336 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:36:57,336 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state gunicorn-registry stdout | 2025-09-26 08:36:57,339 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['60727c05-0b59-4105-9d80-d25cc797b9a5', 1, 0]) securityworker stdout | 2025-09-26 08:36:57,339 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:36:57,341 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:36:57,343 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:57,343 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:57,343 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:57,344 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:57,344 [256] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:57,344 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,344 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,344 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,344 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,344 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,344 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,345 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,345 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,345 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:57,345 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:57,345 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:57,345 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:57,345 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,345 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,345 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,345 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:57,345 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,345 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,345 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,345 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,346 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:57,346 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083657Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:57,346 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083657Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 028289fb13abdb235f6ea1f693e321775bee4dcfca84c8eba88b5a3ecfb451da gunicorn-registry stdout | 2025-09-26 08:36:57,346 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 5ceb3fe23edc250cbd612ef8114300dcc0ca5ea57fd5bfcf4a3ff4a2783c1862 gunicorn-registry stdout | 2025-09-26 08:36:57,346 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,346 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:57,346 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:57,347 [256] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local securityworker stderr | 2025-09-26 08:36:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-13 securityworker stdout | 2025-09-26 08:36:57,352 [89] [DEBUG] [util.migrate.allocator] Total range: 1-13 securityworker stdout | 2025-09-26 08:36:57,352 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:36:57,352 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-13 securityworker stdout | 2025-09-26 08:36:57,352 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:36:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:36:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-13 securityworker stderr | 2025-09-26 08:36:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:36:57,353 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 13]) securityworker stderr | 2025-09-26 08:36:57 [89] [DEBUG] [util.migrate.allocator] Found 4 candidates, processing block start: 1 end: 13 by worker securityworker stdout | 2025-09-26 08:36:57,359 [89] [DEBUG] [util.migrate.allocator] Found 4 candidates, processing block start: 1 end: 13 by worker securityworker stdout | 2025-09-26 08:36:57,359 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [9, 1, 0]) securityworker stdout | 2025-09-26 08:36:57,364 [89] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283', 1, 0]) securityworker stdout | 2025-09-26 08:36:57,368 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['28c17e26-fd25-43bc-b5e3-0eb584c45bc7']) securityworker stdout | 2025-09-26 08:36:57,372 [89] [DEBUG] [boto3.resources.factory] Loading s3:Object securityworker stdout | 2025-09-26 08:36:57,373 [89] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7f614e757ec0> securityworker stdout | 2025-09-26 08:36:57,373 [89] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/5c/5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283'} securityworker stdout | 2025-09-26 08:36:57,373 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,373 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,373 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,374 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:57,374 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,374 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:57,374 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:57,374 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:57,374 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:57,374 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:57,374 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:57,374 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,374 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38?uploads HTTP/1.1" 200 338 securityworker stdout | 2025-09-26 08:36:57,374 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,374 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,374 [89] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/5c/5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5c/5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5c/5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/5c/5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} securityworker stdout | 2025-09-26 08:36:57,375 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:57,375 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:57,375 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,375 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,375 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8yhm-8w1ywc-12h5', 'x-amz-id-2': 'mg0l8yhm-8w1ywc-12h5', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:57 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:57,375 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa3868d650a9d73ec60008f9343d' gunicorn-registry stdout | 2025-09-26 08:36:57,375 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,375 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:57,375 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,375 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8yhm-8w1ywc-12h5', 'HostId': 'mg0l8yhm-8w1ywc-12h5', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8yhm-8w1ywc-12h5', 'x-amz-id-2': 'mg0l8yhm-8w1ywc-12h5', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:57 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38', 'UploadId': '68d650a9d73ec60008f9343d'} gunicorn-registry stdout | 2025-09-26 08:36:57,375 [256] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload securityworker stdout | 2025-09-26 08:36:57,375 [89] [DEBUG] [botocore.auth] Calculating signature using v4 auth. securityworker stdout | 2025-09-26 08:36:57,375 [89] [DEBUG] [botocore.auth] CanonicalRequest: securityworker stdout | GET securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5c/5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283 securityworker stdout | host:s3.openshift-storage.svc.cluster.local securityworker stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | x-amz-date:20250926T083657Z securityworker stdout | host;x-amz-content-sha256;x-amz-date securityworker stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | 2025-09-26 08:36:57,375 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | AWS4-HMAC-SHA256 securityworker stdout | 20250926T083657Z securityworker stdout | 20250926/us-east-1/s3/aws4_request securityworker stdout | c65cf8f034e49788e5208a87b68cac1373720a533964d0f5c7d05c7532b04e79 securityworker stdout | 2025-09-26 08:36:57,375 [89] [DEBUG] [botocore.auth] Signature: securityworker stdout | 96ef78e40e7fb086b9fcf9bc16a97b7626ce773ab34673fd2479007d5fe4d0e5 securityworker stdout | 2025-09-26 08:36:57,376 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,376 [89] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:57,376 [256] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:57,376 [256] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:57,377 [256] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38', 'UploadId': '68d650a9d73ec60008f9343d', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc76d40>, 'ContentLength': 5717} gunicorn-registry stdout | 2025-09-26 08:36:57,377 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,377 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,377 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,377 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler securityworker stdout | 2025-09-26 08:36:57,376 [89] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:57,377 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,377 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,377 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,377 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,377 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:57,377 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:57,377 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:57,377 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:57,378 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,378 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,378 [256] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:57,378 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,378 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,378 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38', 'query_string': {'uploadId': '68d650a9d73ec60008f9343d', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '5717', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': '556jX6PEKtbFWxRneX48dQ==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc76d40>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38?uploadId=68d650a9d73ec60008f9343d&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38', 'UploadId': '68d650a9d73ec60008f9343d', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc76d40>, 'ContentLength': 5717}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:57,378 [256] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,378 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,378 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,378 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,378 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:57,378 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38 gunicorn-registry stdout | partNumber=1&uploadId=68d650a9d73ec60008f9343d gunicorn-registry stdout | content-length:5717 gunicorn-registry stdout | content-md5:556jX6PEKtbFWxRneX48dQ== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083657Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:57,379 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083657Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 87b3ce71b34f831c41e7f6cca970e320f4ba953ac96a7ccb5e638cf6f2f67c30 gunicorn-registry stdout | 2025-09-26 08:36:57,379 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | bbb7aa78ea524d37e82f4c7d437e2af012dee69d256a2aca277dc174f357a440 gunicorn-registry stdout | 2025-09-26 08:36:57,379 [256] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,379 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:57,379 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:57,380 [256] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:57,380 [256] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. securityworker stdout | 2025-09-26 08:36:57,401 [89] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5c/5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283 HTTP/1.1" 200 241 securityworker stdout | 2025-09-26 08:36:57,402 [89] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8yht-905xjr-13y4', 'x-amz-id-2': 'mg0l8yht-905xjr-13y4', 'ETag': '"ff5f07fe308df34f73245cf8878c3b21-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:49 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:57 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} securityworker stdout | 2025-09-26 08:36:57,402 [89] [DEBUG] [botocore.parsers] Response body: securityworker stdout | securityworker stdout | 2025-09-26 08:36:57,403 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,403 [89] [DEBUG] [botocore.retryhandler] No retry needed. securityworker stdout | 2025-09-26 08:36:57,403 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:57,403 [89] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8yht-905xjr-13y4', 'HostId': 'mg0l8yht-905xjr-13y4', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8yht-905xjr-13y4', 'x-amz-id-2': 'mg0l8yht-905xjr-13y4', 'etag': '"ff5f07fe308df34f73245cf8878c3b21-1"', 'last-modified': 'Fri, 26 Sep 2025 08:36:49 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:36:57 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 36, 49, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"ff5f07fe308df34f73245cf8878c3b21-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } securityworker stdout | 2025-09-26 08:36:57,407 [89] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL ((SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "manifestblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1") UNION ALL (SELECT * FROM (SELECT "t5"."id", "t5"."content_checksum", "t5"."image_size", "t5"."uuid", "t5"."cas_path", "t5"."uncompressed_size" FROM "imagestorage" AS "t5" INNER JOIN "manifestblob" AS "t6" ON ("t6"."blob_id" = "t5"."id") WHERE (("t6"."repository_id" = %s) AND ("t5"."content_checksum" = %s)) LIMIT %s) AS "q2"))', [2, 'sha256:d405333e75d435c8468c7783fb12c5d4b72dc8e61369e4a584f5fe26cf4a63b4', 1, 2, 'sha256:5c40dfa7b532e721f94b2701115434a034c5cece1152b87330140e4788b29283', 1, 2, 'sha256:0b4a39c2c94e3953aed34e96ce61e0414d2e50d1c469d68a20bc73239ebce483', 1]) securityworker stdout | 2025-09-26 08:36:57,411 [89] [ERROR] [data.registry_model.registry_oci_model] Could not list manifest layers `9` securityworker stdout | Traceback (most recent call last): securityworker stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 666, in list_manifest_layers securityworker stdout | layers = self._list_manifest_layers( securityworker stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ securityworker stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 1263, in _list_manifest_layers securityworker stdout | for layer in layers: securityworker stdout | ^^^^^^ securityworker stdout | File "/quay-registry/image/oci/manifest.py", line 308, in get_layers securityworker stdout | command=image_layer.history.command, securityworker stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ securityworker stdout | AttributeError: 'NoneType' object has no attribute 'command' securityworker stdout | 2025-09-26 08:36:57,413 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) securityworker stdout | 2025-09-26 08:36:57,418 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) securityworker stdout | 2025-09-26 08:36:57,421 [89] [WARNING] [data.secscan_model.secscan_v4_model] Cannot index 3/alpine@sha256:c2f35176d51645644dac998abfd7357827f01ca6d7a66b9c846178ddec8e3b80 due to manifest being invalid (manifest has no layers) securityworker stdout | 2025-09-26 08:36:57,421 [89] [DEBUG] [peewee] ('DELETE FROM "manifestsecuritystatus" WHERE (("manifestsecuritystatus"."manifest_id" = %s) AND ("manifestsecuritystatus"."repository_id" = %s))', [9, 2]) securityworker stdout | 2025-09-26 08:36:57,424 [89] [DEBUG] [peewee] ('INSERT INTO "manifestsecuritystatus" ("manifest_id", "repository_id", "index_status", "error_json", "last_indexed", "indexer_hash", "indexer_version", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifestsecuritystatus"."id"', [9, 2, -2, '{}', datetime.datetime(2025, 9, 26, 8, 36, 57, 423902), 'none', 4, '{}']) securityworker stdout | 2025-09-26 08:36:57,428 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [10, 1, 0]) securityworker stdout | 2025-09-26 08:36:57,434 [89] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c', 1, 0]) securityworker stdout | 2025-09-26 08:36:57,438 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['1848f78c-1376-4017-bdff-fd937230ce74']) securityworker stdout | 2025-09-26 08:36:57,441 [89] [DEBUG] [boto3.resources.factory] Loading s3:Object securityworker stdout | 2025-09-26 08:36:57,443 [89] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7f614e757ec0> securityworker stdout | 2025-09-26 08:36:57,443 [89] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/95/957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c'} securityworker stdout | 2025-09-26 08:36:57,443 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,443 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,444 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,444 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:57,444 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,444 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:57,444 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:57,444 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:57,444 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:57,444 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:57,444 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:57,444 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,444 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,444 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,445 [89] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/95/957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/95/957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/95/957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/95/957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} securityworker stdout | 2025-09-26 08:36:57,445 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:57,445 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:57,445 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,445 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,445 [89] [DEBUG] [botocore.auth] Calculating signature using v4 auth. securityworker stdout | 2025-09-26 08:36:57,445 [89] [DEBUG] [botocore.auth] CanonicalRequest: securityworker stdout | GET securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/95/957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c securityworker stdout | host:s3.openshift-storage.svc.cluster.local securityworker stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | x-amz-date:20250926T083657Z securityworker stdout | host;x-amz-content-sha256;x-amz-date securityworker stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | 2025-09-26 08:36:57,445 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | AWS4-HMAC-SHA256 securityworker stdout | 20250926T083657Z securityworker stdout | 20250926/us-east-1/s3/aws4_request securityworker stdout | 0deb6609f1d37ce639e8d2df5d7313ad565f8d6dafc234c8f3d87ae288689a2d securityworker stdout | 2025-09-26 08:36:57,445 [89] [DEBUG] [botocore.auth] Signature: securityworker stdout | 161b772ee863e9b9163225d4be3e51d8e32076a2733af86143a1e0290c2fb884 securityworker stdout | 2025-09-26 08:36:57,445 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,446 [89] [DEBUG] [botocore.endpoint] Sending http request: securityworker stdout | 2025-09-26 08:36:57,446 [89] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem securityworker stdout | 2025-09-26 08:36:57,460 [89] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/95/957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c HTTP/1.1" 200 576 securityworker stdout | 2025-09-26 08:36:57,461 [89] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8yjr-a5umv3-uip', 'x-amz-id-2': 'mg0l8yjr-a5umv3-uip', 'ETag': '"ad3471c562bc7fd7ea9b64d2c5eaf89d-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:51 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '576', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:57 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} securityworker stdout | 2025-09-26 08:36:57,461 [89] [DEBUG] [botocore.parsers] Response body: securityworker stdout | securityworker stdout | 2025-09-26 08:36:57,461 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,461 [89] [DEBUG] [botocore.retryhandler] No retry needed. securityworker stdout | 2025-09-26 08:36:57,462 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:57,462 [89] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8yjr-a5umv3-uip', 'HostId': 'mg0l8yjr-a5umv3-uip', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8yjr-a5umv3-uip', 'x-amz-id-2': 'mg0l8yjr-a5umv3-uip', 'etag': '"ad3471c562bc7fd7ea9b64d2c5eaf89d-1"', 'last-modified': 'Fri, 26 Sep 2025 08:36:51 GMT', 'content-type': 'application/octet-stream', 'content-length': '576', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:36:57 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 36, 51, tzinfo=tzutc()), 'ContentLength': 576, 'ETag': '"ad3471c562bc7fd7ea9b64d2c5eaf89d-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:36:57,464 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38?uploadId=68d650a9d73ec60008f9343d&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:57,464 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8yhw-924tqy-3vk', 'x-amz-id-2': 'mg0l8yhw-924tqy-3vk', 'ETag': '"e79ea35fa3c42ad6c55b1467797e3c75"', 'Date': 'Fri, 26 Sep 2025 08:36:57 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:57,464 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' securityworker stdout | 2025-09-26 08:36:57,464 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,464 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,464 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:57,464 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,464 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8yhw-924tqy-3vk', 'HostId': 'mg0l8yhw-924tqy-3vk', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8yhw-924tqy-3vk', 'x-amz-id-2': 'mg0l8yhw-924tqy-3vk', 'etag': '"e79ea35fa3c42ad6c55b1467797e3c75"', 'date': 'Fri, 26 Sep 2025 08:36:57 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"e79ea35fa3c42ad6c55b1467797e3c75"'} gunicorn-registry stdout | 2025-09-26 08:36:57,465 [256] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38', 'UploadId': '68d650a9d73ec60008f9343d', 'MultipartUpload': {'Parts': [{'ETag': '"e79ea35fa3c42ad6c55b1467797e3c75"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:36:57,465 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,465 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,465 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,465 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,465 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,465 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,465 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,465 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:57,465 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:57,465 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:57,465 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:57,465 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,466 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,466 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,466 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38', 'query_string': {'uploadId': '68d650a9d73ec60008f9343d'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"e79ea35fa3c42ad6c55b1467797e3c75"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38?uploadId=68d650a9d73ec60008f9343d', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38', 'UploadId': '68d650a9d73ec60008f9343d', 'MultipartUpload': {'Parts': [{'ETag': '"e79ea35fa3c42ad6c55b1467797e3c75"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:57,466 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,466 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,466 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,466 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,466 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:57,466 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38 gunicorn-registry stdout | uploadId=68d650a9d73ec60008f9343d gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:145bf125f3fde02179aed35f54ad8c72cb264d44e7a1c59481414d3485152af8 gunicorn-registry stdout | x-amz-date:20250926T083657Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 145bf125f3fde02179aed35f54ad8c72cb264d44e7a1c59481414d3485152af8 gunicorn-registry stdout | 2025-09-26 08:36:57,466 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083657Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | f83dedadcdd87543147f667c96ce24862bf1806dd0177ceb8581764f12eae530 gunicorn-registry stdout | 2025-09-26 08:36:57,466 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 82d60f5e96c97a6e89708b479e5a080ab2fb13a4c8e3aeac7592f6f70e022083 gunicorn-registry stdout | 2025-09-26 08:36:57,466 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,466 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:57,467 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem securityworker stdout | 2025-09-26 08:36:57,468 [89] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "manifestblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [2, 'sha256:957b6b57f4173ba3ebfc2b2582d0ad72d325265f0ac7c1fe20356c855c4a955c', 1, 2, 'sha256:c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993', 1]) securityworker stdout | 2025-09-26 08:36:57,473 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['dfdbd6ae-c658-4b0d-af7d-ba606fa12d24']) securityworker stdout | 2025-09-26 08:36:57,476 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['6d9afe7c-4cd4-46e0-8000-0876c9384bb4']) securityworker stdout | 2025-09-26 08:36:57,480 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."manifest_id", "t1"."repository_id", "t1"."index_status", "t1"."error_json", "t1"."last_indexed", "t1"."indexer_hash", "t1"."indexer_version", "t1"."metadata_json" FROM "manifestsecuritystatus" AS "t1" WHERE ("t1"."manifest_id" = %s)', [10]) gunicorn-registry stdout | 2025-09-26 08:36:57,482 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38?uploadId=68d650a9d73ec60008f9343d HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:36:57,482 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ykc-ai651u-9z8', 'x-amz-id-2': 'mg0l8ykc-ai651u-9z8', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:36:57 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:57,482 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38"7a9542cf6c451ff89e27ab6782cc63b2-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38?uploadId=68d650a9d73ec60008f9343d' gunicorn-registry stdout | 2025-09-26 08:36:57,482 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,482 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,483 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:57,483 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,483 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8ykc-ai651u-9z8', 'HostId': 'mg0l8ykc-ai651u-9z8', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ykc-ai651u-9z8', 'x-amz-id-2': 'mg0l8ykc-ai651u-9z8', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:36:57 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38?uploadId=68d650a9d73ec60008f9343d', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38', 'ETag': '"7a9542cf6c451ff89e27ab6782cc63b2-1"'} gunicorn-registry stdout | 2025-09-26 08:36:57,483 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object securityworker stdout | 2025-09-26 08:36:57,483 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,484 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:57,484 [256] [DEBUG] [data.registry_model.blobuploader] Uploaded 5717 bytes to blob 60727c05-0b59-4105-9d80-d25cc797b9a5 took 0.14138507843017578 seconds gunicorn-registry stdout | 2025-09-26 08:36:57,485 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['60727c05-0b59-4105-9d80-d25cc797b9a5', 1, 0]) securityworker stdout | 2025-09-26 08:36:57,487 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,489 [256] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '60727c05-0b59-4105-9d80-d25cc797b9a5', 5717, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwQHYxI2hlcm1ldGljIjp0cnVlfX19MDE4N31dXX19LCJodHRwczovL21vYnlwcm9qZWN0Lm9yZy9idWlsZGtpdBUAAAAAAAAAALIAAAAAAADKOsspv3fmdR38xVikcCWVGB0AxH6hdxJkDQRC3UlUUZRiLg==', 9, '{"chunks": [["uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38", 0, 5717]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 36, 57, 259740), None, None, 35]) securityworker stdout | 2025-09-26 08:36:57,491 [89] [DEBUG] [data.secscan_model.secscan_v4_model] Indexing manifest [10] 3/alpine@sha256:af11d8e82a84ada96b5af358e796120e1c83f685d077b25ec05af8e6bc8827b6 securityworker stdout | 2025-09-26 08:36:57,491 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,491 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,491 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,491 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:57,491 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,491 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:57,491 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:57,491 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:57,491 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:57,491 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:57,491 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:57,491 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:57,491 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,491 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:36:57,492 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:36:57,492 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876417 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/c7/c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993 gunicorn-registry stdout | 2025-09-26 08:36:57,494 [256] [DEBUG] [app] Ending request: urn:request:989f1d96-9c17-4f9c-8c2a-3da8d5674830 (/v2/testorg/alpine/blobs/uploads/60727c05-0b59-4105-9d80-d25cc797b9a5) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:989f1d96-9c17-4f9c-8c2a-3da8d5674830', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/60727c05-0b59-4105-9d80-d25cc797b9a5', 'path': '/v2/testorg/alpine/blobs/uploads/60727c05-0b59-4105-9d80-d25cc797b9a5', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:57,494 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:57,494 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:57,494 [256] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:57 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/60727c05-0b59-4105-9d80-d25cc797b9a5 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:57 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/60727c05-0b59-4105-9d80-d25cc797b9a5 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.188 7490 0.187) securityworker stdout | 2025-09-26 08:36:57,499 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ERTNMQ0pwWVhRaU9qRTNOVGc0TnpVNE1UY3NJbVY0Y0NJNk1UYzFPRGczTmpReE55d2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5ak55OWpOemczTmpJd05UQXhZamMwTm1JellXRTVaV013TWpGbU0yUmtZakJpTnpBM05UY3lZalZqTmpobE16TmtOek5pWlRNNU1tSTVZekEzT0dFME9Ua3pQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFIUjJsbU1WSlBURVZIWVVGb1NsRmFhbTlZVFZKc1YxcHhTVlVsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRFM0lpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAud0EtTVNCanpjcENjU0x3d01hNUxjQ19HYjd2UnFIM1JtUjZuT1k1ZnFzT0p2TU9QRzRpOHo0X0MyRElpcHZGZ0QxaXlTSDlpSG9ORzZQcEJZUHpxeDA5djJ5YWk0and3Q3BQUDJrZENkdlc2UEdUcl8tOW9XZ3Vaai11OE5TZVQ4bmVic2o2bDBmNjVFT19rTDA4S2JMaGZQek4wZ3FxRWdaTmVpWHVleHlGbzFOaWZEcHZNcEM3cnRZQlp4QUpJZHJhRVMwOWxqalJtSGFnSjVTYXNBU1F4Z3pxVHdmZzk2aDJwV2JDMThSRXBleFkxNFFHRW1zbEs0UlJMaEx2c3cwQmc3UUd0cnREdGlVWk0xMGFmLXJ6SnNZaEU1dTlQSzlCelhnRlQwY3I5US15U1dkRi02YXhWclVydS1YSFA3Q3FoWTB1UXJEV0pCZ2c4WnR0ZWxR/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/c7/c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=GGif1ROLEGaAhJQZjoXMRlWZqIU%3D&Expires=1758876417 securityworker stdout | 2025-09-26 08:36:57,499 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,499 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,499 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,499 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:57,500 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,500 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:57,500 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:57,500 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:57,500 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:57,500 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:57,500 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:57,500 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:57,500 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,500 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:36:57,500 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:36:57,500 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876417 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/c7/c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993 securityworker stdout | 2025-09-26 08:36:57,506 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ERTNMQ0pwWVhRaU9qRTNOVGc0TnpVNE1UY3NJbVY0Y0NJNk1UYzFPRGczTmpReE55d2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5ak55OWpOemczTmpJd05UQXhZamMwTm1JellXRTVaV013TWpGbU0yUmtZakJpTnpBM05UY3lZalZqTmpobE16TmtOek5pWlRNNU1tSTVZekEzT0dFME9Ua3pQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFIUjJsbU1WSlBURVZIWVVGb1NsRmFhbTlZVFZKc1YxcHhTVlVsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRFM0lpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAud0EtTVNCanpjcENjU0x3d01hNUxjQ19HYjd2UnFIM1JtUjZuT1k1ZnFzT0p2TU9QRzRpOHo0X0MyRElpcHZGZ0QxaXlTSDlpSG9ORzZQcEJZUHpxeDA5djJ5YWk0and3Q3BQUDJrZENkdlc2UEdUcl8tOW9XZ3Vaai11OE5TZVQ4bmVic2o2bDBmNjVFT19rTDA4S2JMaGZQek4wZ3FxRWdaTmVpWHVleHlGbzFOaWZEcHZNcEM3cnRZQlp4QUpJZHJhRVMwOWxqalJtSGFnSjVTYXNBU1F4Z3pxVHdmZzk2aDJwV2JDMThSRXBleFkxNFFHRW1zbEs0UlJMaEx2c3cwQmc3UUd0cnREdGlVWk0xMGFmLXJ6SnNZaEU1dTlQSzlCelhnRlQwY3I5US15U1dkRi02YXhWclVydS1YSFA3Q3FoWTB1UXJEV0pCZ2c4WnR0ZWxR/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/c7/c787620501b746b3aa9ec021f3ddb0b707572b5c68e33d73be392b9c078a4993?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=GGif1ROLEGaAhJQZjoXMRlWZqIU%3D&Expires=1758876417 securityworker stdout | 2025-09-26 08:36:57,506 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,506 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,506 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,506 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:57,506 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,506 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:57,507 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:57,507 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:57,507 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:57,507 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:57,507 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:57,507 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:57,507 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,507 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:36:57,507 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:36:57,507 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876417 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 securityworker stdout | 2025-09-26 08:36:57,514 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ERTNMQ0pwWVhRaU9qRTNOVGc0TnpVNE1UY3NJbVY0Y0NJNk1UYzFPRGczTmpReE55d2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE15OWhNMlZrT1RWallXVmlNREptWm1VMk9HTmtaRGxtWkRnME5EQTJOamd3WVdVNU0yUTJNek5qWWpFMk5ESXlaREF3WlRoaE4yTXlNamsxTldJME5tUTBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFCVXpoUGJWSm1SMGRCZURabFZuVmlZMWhJWmxsS1V6Sk5WRkVsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRFM0lpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuRE40a2tWMWsyMFhpQVczeDNEY3UxUUtacUw3WEZfeFJiVDJrUGFGZk11YVJzZ09xWVdjM0RRRnFCYllkNFphdzI4WjAtOVpRdUdrQUU0NFVuam9JRlllTnc3clppNnMwSTJWTF9yZS1VUVNCQVNKd1NyNmJKYUJsTzNsRnVvcXA2WUV6TTFaUW9acEhHMjh5UzR2d2V2VUwySWduWVZEN19wMlMwQTZ5ZTFmSWpzamt0Q29YRTNLeW5LUWxfUU85eE5RQ2EwcHVlRENRQV82dm05QW9xWmpnMnNfUmRlS1BwWGsxNnZNZnJPVHQ1ZWVrbnhZendiTTFSQ0hLSl9kTXhibFRrUl9fWUszcEdHZHZLaEd3WE5mdUNHZXphZ0NjeDg0d2VwV2pzQ1kwbVRuZ19mNEtjT0NvdzBIZ3J4RXdHMEZvZ3IzbE5hN3BkSzZ6MF9zRi1n/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=AS8OmRfGGAx6eVubcXHfYJS2MTQ%3D&Expires=1758876417 securityworker stdout | 2025-09-26 08:36:57,514 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,514 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,514 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,514 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:57,514 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,514 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:57,514 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:57,514 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:57,514 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:57,514 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:57,514 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:57,514 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:57,514 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:57,514 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:36:57,514 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:36:57,514 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876417 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 securityworker stdout | 2025-09-26 08:36:57,521 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ERTNMQ0pwWVhRaU9qRTNOVGc0TnpVNE1UY3NJbVY0Y0NJNk1UYzFPRGczTmpReE55d2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE15OWhNMlZrT1RWallXVmlNREptWm1VMk9HTmtaRGxtWkRnME5EQTJOamd3WVdVNU0yUTJNek5qWWpFMk5ESXlaREF3WlRoaE4yTXlNamsxTldJME5tUTBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFCVXpoUGJWSm1SMGRCZURabFZuVmlZMWhJWmxsS1V6Sk5WRkVsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRFM0lpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuRE40a2tWMWsyMFhpQVczeDNEY3UxUUtacUw3WEZfeFJiVDJrUGFGZk11YVJzZ09xWVdjM0RRRnFCYllkNFphdzI4WjAtOVpRdUdrQUU0NFVuam9JRlllTnc3clppNnMwSTJWTF9yZS1VUVNCQVNKd1NyNmJKYUJsTzNsRnVvcXA2WUV6TTFaUW9acEhHMjh5UzR2d2V2VUwySWduWVZEN19wMlMwQTZ5ZTFmSWpzamt0Q29YRTNLeW5LUWxfUU85eE5RQ2EwcHVlRENRQV82dm05QW9xWmpnMnNfUmRlS1BwWGsxNnZNZnJPVHQ1ZWVrbnhZendiTTFSQ0hLSl9kTXhibFRrUl9fWUszcEdHZHZLaEd3WE5mdUNHZXphZ0NjeDg0d2VwV2pzQ1kwbVRuZ19mNEtjT0NvdzBIZ3J4RXdHMEZvZ3IzbE5hN3BkSzZ6MF9zRi1n/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=AS8OmRfGGAx6eVubcXHfYJS2MTQ%3D&Expires=1758876417 securityworker stdout | 2025-09-26 08:36:57,521 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:36:57,521 [89] [DEBUG] [util.secscan.v4.api] POSTing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_report gunicorn-registry stdout | 2025-09-26 08:36:57,537 [256] [DEBUG] [app] Starting request: urn:request:a12f49f5-12bb-4331-b751-735325e1043c (/v2/testorg/alpine/blobs/uploads/60727c05-0b59-4105-9d80-d25cc797b9a5) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:57,537 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '60727c05-0b59-4105-9d80-d25cc797b9a5', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:57,537 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:57,537 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:57,538 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:57,538 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:57,538 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:57,539 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:57,539 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:57,540 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,544 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,548 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,552 [256] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,555 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,559 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,562 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,566 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:57,569 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['60727c05-0b59-4105-9d80-d25cc797b9a5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,573 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:57,573 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:57,573 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:57,574 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:57,574 [256] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/41db812c-9d70-4e51-b79f-b373d88b7e65', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:57,574 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,574 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,574 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,574 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,574 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,574 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,574 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,574 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,574 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:57,575 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:57,575 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:57,575 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:57,575 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,575 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,575 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,575 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/41db812c-9d70-4e51-b79f-b373d88b7e65?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/41db812c-9d70-4e51-b79f-b373d88b7e65', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/41db812c-9d70-4e51-b79f-b373d88b7e65?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/41db812c-9d70-4e51-b79f-b373d88b7e65', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:57,575 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,575 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,575 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,575 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,575 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:57,575 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/41db812c-9d70-4e51-b79f-b373d88b7e65 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083657Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:57,575 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083657Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | cbf1e0e59763cf90de5609dddd7b7b759a1ff63763c5f88745d82d9ea5d80ef3 gunicorn-registry stdout | 2025-09-26 08:36:57,576 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b42afa358ec948d1d23502f7f95b579cf41bfe19ea5014b966ba32d270502f8a gunicorn-registry stdout | 2025-09-26 08:36:57,576 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,576 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:57,576 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:57,582 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/41db812c-9d70-4e51-b79f-b373d88b7e65?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:57,582 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ynd-cbn1z9-1bzn', 'x-amz-id-2': 'mg0l8ynd-cbn1z9-1bzn', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:57 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:57,582 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/41db812c-9d70-4e51-b79f-b373d88b7e6568d650a9d73ec60008f93449' gunicorn-registry stdout | 2025-09-26 08:36:57,582 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,582 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:57,583 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,583 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8ynd-cbn1z9-1bzn', 'HostId': 'mg0l8ynd-cbn1z9-1bzn', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ynd-cbn1z9-1bzn', 'x-amz-id-2': 'mg0l8ynd-cbn1z9-1bzn', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:57 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/41db812c-9d70-4e51-b79f-b373d88b7e65', 'UploadId': '68d650a9d73ec60008f93449'} gunicorn-registry stdout | 2025-09-26 08:36:57,583 [256] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:57,584 [256] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/41db812c-9d70-4e51-b79f-b373d88b7e65', 'UploadId': '68d650a9d73ec60008f93449'} gunicorn-registry stdout | 2025-09-26 08:36:57,584 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,584 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,584 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,584 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,584 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,584 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,584 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:57,584 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:57,584 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:57,584 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:57,585 [256] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,585 [256] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,585 [256] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,585 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/41db812c-9d70-4e51-b79f-b373d88b7e65', 'query_string': {'uploadId': '68d650a9d73ec60008f93449'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/41db812c-9d70-4e51-b79f-b373d88b7e65', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/41db812c-9d70-4e51-b79f-b373d88b7e65?uploadId=68d650a9d73ec60008f93449', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/41db812c-9d70-4e51-b79f-b373d88b7e65', 'UploadId': '68d650a9d73ec60008f93449'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:57,585 [256] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,585 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,585 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,585 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,585 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:57,585 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/41db812c-9d70-4e51-b79f-b373d88b7e65 gunicorn-registry stdout | uploadId=68d650a9d73ec60008f93449 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083657Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:57,585 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083657Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4bd1ec5386cd0a5e9d121e2ac259f16a9af9c00d2965895e18971bbc4edd9406 gunicorn-registry stdout | 2025-09-26 08:36:57,585 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 2a28c38d7ccda6c18bd340e9497455827df18660abd5e2b5d5f68009d47fde12 gunicorn-registry stdout | 2025-09-26 08:36:57,585 [256] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,585 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:57,586 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:57,591 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/41db812c-9d70-4e51-b79f-b373d88b7e65?uploadId=68d650a9d73ec60008f93449 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:36:57,592 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ynm-cgwu2q-19xs', 'x-amz-id-2': 'mg0l8ynm-cgwu2q-19xs', 'Date': 'Fri, 26 Sep 2025 08:36:57 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:57,592 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:57,592 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,592 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:57,592 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,592 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8ynm-cgwu2q-19xs', 'HostId': 'mg0l8ynm-cgwu2q-19xs', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8ynm-cgwu2q-19xs', 'x-amz-id-2': 'mg0l8ynm-cgwu2q-19xs', 'date': 'Fri, 26 Sep 2025 08:36:57 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:36:57,592 [256] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 60727c05-0b59-4105-9d80-d25cc797b9a5 took 0.01941704750061035 seconds gunicorn-registry stdout | 2025-09-26 08:36:57,593 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['60727c05-0b59-4105-9d80-d25cc797b9a5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,597 [256] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '60727c05-0b59-4105-9d80-d25cc797b9a5', 5717, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwQHYxI2hlcm1ldGljIjp0cnVlfX19MDE4N31dXX19LCJodHRwczovL21vYnlwcm9qZWN0Lm9yZy9idWlsZGtpdBUAAAAAAAAAALIAAAAAAADKOsspv3fmdR38xVikcCWVGB0AxH6hdxJkDQRC3UlUUZRiLg==', 9, '{"chunks": [["uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38", 0, 5717]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 36, 57, 259740), None, None, 35]) gunicorn-registry stdout | 2025-09-26 08:36:57,601 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:57,601 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:57,601 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:57,602 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:57,602 [256] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/aa/aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60'} gunicorn-registry stdout | 2025-09-26 08:36:57,603 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,603 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,603 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,603 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,603 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,603 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,603 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,603 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:57,603 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:57,603 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:57,603 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:57,603 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,603 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,603 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,603 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/aa/aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/aa/aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/aa/aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/aa/aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:57,603 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,603 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,603 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,603 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,604 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:57,604 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/aa/aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083657Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:57,604 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083657Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 144a0128763cd6f5211ae160864104e45476e5fa82cb2fa16570d5cfb2dc7e02 gunicorn-registry stdout | 2025-09-26 08:36:57,604 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 109412f1e9d3de8fa7dff2f283f38abf93cca65f731ea784909b4f4f8509611a gunicorn-registry stdout | 2025-09-26 08:36:57,604 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,604 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:57,604 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:57,608 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/aa/aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:36:57,609 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8yo5-crzv9t-4rn', 'x-amz-id-2': 'mg0l8yo5-crzv9t-4rn', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:57 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:57,609 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:57,609 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,609 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:57,609 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,609 [256] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:36:57,609 [256] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:36:57,609 [256] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/aa/aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60 gunicorn-registry stdout | 2025-09-26 08:36:57,609 [256] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:57,610 [256] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:57,610 [256] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:57,610 [256] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:36:57,610 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,610 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,610 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,610 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,610 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,610 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,610 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,610 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:57,610 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:57,610 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:57,610 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:57,610 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,611 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,611 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,611 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:57,611 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,611 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,611 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,611 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,611 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,611 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:57,611 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083657Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:57,612 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083657Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 9f3530ae9744b3d7e89bbfeb3f5ffef67a7709dc45c1e86015120e3011060372 gunicorn-registry stdout | 2025-09-26 08:36:57,612 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 27fcc1c265f06f525a1a574afd9d6b895bcff1ea53743c1fb70cdb731d5ebc52 gunicorn-registry stdout | 2025-09-26 08:36:57,612 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,612 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,612 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:57,612 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:57,613 [256] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:36:57,639 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:57,639 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8yoz-da06mf-btp', 'x-amz-id-2': 'mg0l8yoz-da06mf-btp', 'ETag': '"7a9542cf6c451ff89e27ab6782cc63b2-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:57 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '5717', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:57 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:57,639 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:57,639 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,639 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:57,640 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,640 [256] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/aa/aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:36:57,640 [256] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:36:57,640 [256] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/aa/aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:36:57,640 [256] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/aa/aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:36:57,640 [256] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/aa/aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/aa/aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60', 'extra_args': {}, 'callbacks': [], 'size': 5717} gunicorn-registry stdout | 2025-09-26 08:36:57,640 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,640 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,640 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,640 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,640 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,640 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,640 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,640 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,640 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,640 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,640 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:57,641 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:57,641 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:57,641 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:57,641 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,641 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,641 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,641 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/aa/aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/aa/aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/aa/aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/aa/aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:57,641 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,641 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,641 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,641 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,641 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,641 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:57,641 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/aa/aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2b3916d5-d6e9-4e2e-85c3-ab749b69fa38 gunicorn-registry stdout | x-amz-date:20250926T083657Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:57,642 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083657Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 9b17b86ca136a2fca85794436844976031271cc5453183c25f6f71d13fd46054 gunicorn-registry stdout | 2025-09-26 08:36:57,642 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b9db3622023461203235ecd29f4343d9588e5f5ec40ad4ff572d0dd6ebf9ce6d gunicorn-registry stdout | 2025-09-26 08:36:57,642 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,642 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,642 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:57,642 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:57,642 [256] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:57,666 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/aa/aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:36:57,667 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8yp7-delknc-ybg', 'x-amz-id-2': 'mg0l8yp7-delknc-ybg', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:36:57 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:57,667 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:36:57.000Z"7a9542cf6c451ff89e27ab6782cc63b2-1"' gunicorn-registry stdout | 2025-09-26 08:36:57,667 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,667 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:57,668 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:57,668 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:57,668 [256] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:36:57,668 [256] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 60727c05-0b59-4105-9d80-d25cc797b9a5 with digest sha256:aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60 took 0.059183597564697266 seconds gunicorn-registry stdout | 2025-09-26 08:36:57,669 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['60727c05-0b59-4105-9d80-d25cc797b9a5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,672 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,674 [256] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['0d468978-2d66-42b5-909d-d2db931752c6', 5717, None, True, True, 'sha256:aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60']) gunicorn-registry stdout | 2025-09-26 08:36:57,675 [256] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [36, 9]) gunicorn-registry stdout | 2025-09-26 08:36:57,677 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,678 [256] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 36, datetime.datetime(2025, 9, 26, 8, 36, 57, 678647), datetime.datetime(2025, 9, 26, 9, 36, 57, 678629)]) gunicorn-registry stdout | 2025-09-26 08:36:57,680 [256] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [35]) gunicorn-registry stdout | 2025-09-26 08:36:57,684 [256] [DEBUG] [app] Ending request: urn:request:a12f49f5-12bb-4331-b751-735325e1043c (/v2/testorg/alpine/blobs/uploads/60727c05-0b59-4105-9d80-d25cc797b9a5) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:a12f49f5-12bb-4331-b751-735325e1043c', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/60727c05-0b59-4105-9d80-d25cc797b9a5?digest=sha256:aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60', 'path': '/v2/testorg/alpine/blobs/uploads/60727c05-0b59-4105-9d80-d25cc797b9a5', 'parameters': {'digest': 'sha256:aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:57,684 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:57,684 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:57,684 [256] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:57 +0000] "PUT /v2/testorg/alpine/blobs/uploads/60727c05-0b59-4105-9d80-d25cc797b9a5?digest=sha256%3Aaa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:57 +0000] "PUT /v2/testorg/alpine/blobs/uploads/60727c05-0b59-4105-9d80-d25cc797b9a5?digest=sha256%3Aaa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.149 1849 0.148) notificationworker stdout | 2025-09-26 08:36:57,689 [68] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'notificationworker.py', 'pid': '68'} gunicorn-registry stdout | 2025-09-26 08:36:57,878 [254] [DEBUG] [app] Starting request: urn:request:a5e6871b-834f-4351-add3-75555989ec0c (/v2/testorg/alpine/blobs/sha256:a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:57,878 [254] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:57,878 [254] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:57,878 [254] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:57,879 [254] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:57,879 [254] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:57,879 [254] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:57,880 [254] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:57,880 [254] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:57,881 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,885 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,888 [254] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:36:57,888 [254] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e_2 gunicorn-registry stdout | 2025-09-26 08:36:57,889 [254] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e_2; calling loader gunicorn-registry stdout | 2025-09-26 08:36:57,890 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,894 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,897 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,901 [254] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,905 [254] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:57,908 [254] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e_2: None gunicorn-registry stdout | 2025-09-26 08:36:57,908 [254] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e_2: None gunicorn-registry stdout | 2025-09-26 08:36:57,908 [254] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:36:57,909 [254] [DEBUG] [app] Ending request: urn:request:a5e6871b-834f-4351-add3-75555989ec0c (/v2/testorg/alpine/blobs/sha256:a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:a5e6871b-834f-4351-add3-75555989ec0c', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e', 'path': '/v2/testorg/alpine/blobs/sha256:a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:57,909 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:57,909 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:57,910 [254] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:57 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:57 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.032 1714 0.033) gunicorn-registry stdout | 2025-09-26 08:36:58,008 [257] [DEBUG] [app] Starting request: urn:request:ba1ce4bd-5bb2-4675-84c9-4adcea79659d (/v2/testorg/alpine/blobs/uploads/240941d9-67d5-46de-b631-1a3a0aa7a109) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:58,008 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '240941d9-67d5-46de-b631-1a3a0aa7a109', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:58,008 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:58,008 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:58,009 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:58,009 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:58,009 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:58,009 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:58,010 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:58,010 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:58,015 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:58,018 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:58,022 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:58,026 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:58,030 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:58,034 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:58,037 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:58,041 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['240941d9-67d5-46de-b631-1a3a0aa7a109', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:58,044 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:58,045 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:58,045 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:58,046 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:58,046 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:36:58,046 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,046 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,046 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,046 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,046 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,046 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,046 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,046 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,047 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:58,047 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:58,047 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:58,047 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:58,047 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,047 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,047 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,047 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:58,048 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,048 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,048 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,048 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,048 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:58,048 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083658Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:58,049 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083658Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 8bf82f6ac8970ae231b0234533173371e152d2c72121215f321d6a2d830f7220 gunicorn-registry stdout | 2025-09-26 08:36:58,049 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | bf72e2f4f1d98afbeda4fcabf86d3bac2f9486f0d3122cde4c2a52bc64af07dc gunicorn-registry stdout | 2025-09-26 08:36:58,049 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,049 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:58,049 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:58,140 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:36:58,140 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8z0j-3m07r1-1e0h', 'x-amz-id-2': 'mg0l8z0j-3m07r1-1e0h', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:36:58 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:58,140 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d668d650aad73ec60008f9344c' gunicorn-registry stdout | 2025-09-26 08:36:58,141 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,141 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:58,141 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,141 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8z0j-3m07r1-1e0h', 'HostId': 'mg0l8z0j-3m07r1-1e0h', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8z0j-3m07r1-1e0h', 'x-amz-id-2': 'mg0l8z0j-3m07r1-1e0h', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:36:58 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6', 'UploadId': '68d650aad73ec60008f9344c'} gunicorn-registry stdout | 2025-09-26 08:36:58,141 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:36:58,142 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:36:58,142 [257] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:36:58,143 [257] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6', 'UploadId': '68d650aad73ec60008f9344c', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50db06b60>, 'ContentLength': 241} gunicorn-registry stdout | 2025-09-26 08:36:58,143 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,143 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,143 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,143 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,143 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,143 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,143 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,143 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,143 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:58,143 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:58,143 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:58,143 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:58,144 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,144 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,144 [257] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:36:58,144 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,144 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,144 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6', 'query_string': {'uploadId': '68d650aad73ec60008f9344c', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '241', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'DLMXGJORo6kLjoA77s76jw==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50db06b60>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6?uploadId=68d650aad73ec60008f9344c&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6', 'UploadId': '68d650aad73ec60008f9344c', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50db06b60>, 'ContentLength': 241}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:58,144 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,144 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,144 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,144 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,145 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:58,145 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6 gunicorn-registry stdout | partNumber=1&uploadId=68d650aad73ec60008f9344c gunicorn-registry stdout | content-length:241 gunicorn-registry stdout | content-md5:DLMXGJORo6kLjoA77s76jw== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083658Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:36:58,145 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083658Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 112f55aea169c2572645b73cec05feb2c19ff841c40794f84be250c21b0bf0e5 gunicorn-registry stdout | 2025-09-26 08:36:58,145 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | c9a07f4b45b493516db12116fb4ef81acc9d56f6b1521e788e7c1a1d8d118b7b gunicorn-registry stdout | 2025-09-26 08:36:58,145 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,145 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:58,146 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:58,146 [257] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:36:58,147 [257] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:36:58,209 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6?uploadId=68d650aad73ec60008f9344c&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:36:58,209 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8z37-578ogn-110c', 'x-amz-id-2': 'mg0l8z37-578ogn-110c', 'ETag': '"0cb317189391a3a90b8e803beecefa8f"', 'Date': 'Fri, 26 Sep 2025 08:36:58 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:36:58,209 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:36:58,210 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,210 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:58,210 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,210 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8z37-578ogn-110c', 'HostId': 'mg0l8z37-578ogn-110c', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8z37-578ogn-110c', 'x-amz-id-2': 'mg0l8z37-578ogn-110c', 'etag': '"0cb317189391a3a90b8e803beecefa8f"', 'date': 'Fri, 26 Sep 2025 08:36:58 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"0cb317189391a3a90b8e803beecefa8f"'} gunicorn-registry stdout | 2025-09-26 08:36:58,210 [257] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6', 'UploadId': '68d650aad73ec60008f9344c', 'MultipartUpload': {'Parts': [{'ETag': '"0cb317189391a3a90b8e803beecefa8f"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:36:58,210 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,210 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,210 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,210 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,210 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,210 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,210 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,210 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:58,210 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:58,210 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:58,210 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:58,211 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,211 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,211 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,211 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6', 'query_string': {'uploadId': '68d650aad73ec60008f9344c'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"0cb317189391a3a90b8e803beecefa8f"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6?uploadId=68d650aad73ec60008f9344c', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6', 'UploadId': '68d650aad73ec60008f9344c', 'MultipartUpload': {'Parts': [{'ETag': '"0cb317189391a3a90b8e803beecefa8f"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:58,211 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,211 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,211 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,211 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,211 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:58,211 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6 gunicorn-registry stdout | uploadId=68d650aad73ec60008f9344c gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:7e4ccc9c1506c677ff5dba5c8a629f20278be8c16ca6c3ecb8f6b4890c2dd227 gunicorn-registry stdout | x-amz-date:20250926T083658Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 7e4ccc9c1506c677ff5dba5c8a629f20278be8c16ca6c3ecb8f6b4890c2dd227 gunicorn-registry stdout | 2025-09-26 08:36:58,212 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083658Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 137127e6b4ee2482b7f2b3de1256974c4ebcd8c18154124d6ebe2f6d569feaf2 gunicorn-registry stdout | 2025-09-26 08:36:58,212 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | a7623020951cd87aab3f4f5067c2ef5c8d35618860eb62dbdecfc99a0f414c77 gunicorn-registry stdout | 2025-09-26 08:36:58,212 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,212 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:58,212 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:58,228 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6?uploadId=68d650aad73ec60008f9344c HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:36:58,228 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8z51-6afvx8-162a', 'x-amz-id-2': 'mg0l8z51-6afvx8-162a', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:36:58 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:58,228 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6"517b0a2657a6f159dbb0c68ae54f1307-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6?uploadId=68d650aad73ec60008f9344c' gunicorn-registry stdout | 2025-09-26 08:36:58,229 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,229 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,229 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:58,229 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,229 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8z51-6afvx8-162a', 'HostId': 'mg0l8z51-6afvx8-162a', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8z51-6afvx8-162a', 'x-amz-id-2': 'mg0l8z51-6afvx8-162a', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:36:58 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6?uploadId=68d650aad73ec60008f9344c', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6', 'ETag': '"517b0a2657a6f159dbb0c68ae54f1307-1"'} gunicorn-registry stdout | 2025-09-26 08:36:58,229 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:58,230 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:58,230 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 241 bytes to blob 240941d9-67d5-46de-b631-1a3a0aa7a109 took 0.1854264736175537 seconds gunicorn-registry stdout | 2025-09-26 08:36:58,231 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['240941d9-67d5-46de-b631-1a3a0aa7a109', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:58,235 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '240941d9-67d5-46de-b631-1a3a0aa7a109', 241, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwZDZkNWRkNjc1NzA0YzQ5MTFmNjgxNTY2YWFjNTk2MzVhOWIxODcwNWU2YzYwIl19fTEzZjJkN2RhMzkyYzIxZTEAAAAAAAAAAAYAAAAAAADZeP9FY53grgyU0TFJxLO/daYz/aThoZLfkHyOxfdpHpRiLg==', 9, '{"chunks": [["uploads/2e639152-046e-4e5c-9ab9-da08bfba87d6", 0, 241]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 36, 57, 963829), None, None, 36]) gunicorn-registry stdout | 2025-09-26 08:36:58,239 [257] [DEBUG] [app] Ending request: urn:request:ba1ce4bd-5bb2-4675-84c9-4adcea79659d (/v2/testorg/alpine/blobs/uploads/240941d9-67d5-46de-b631-1a3a0aa7a109) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:ba1ce4bd-5bb2-4675-84c9-4adcea79659d', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/240941d9-67d5-46de-b631-1a3a0aa7a109', 'path': '/v2/testorg/alpine/blobs/uploads/240941d9-67d5-46de-b631-1a3a0aa7a109', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:58,240 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:58,240 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:58,240 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:58 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/240941d9-67d5-46de-b631-1a3a0aa7a109 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:58 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/240941d9-67d5-46de-b631-1a3a0aa7a109 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.234 2013 0.233) gunicorn-registry stdout | 2025-09-26 08:36:58,629 [250] [DEBUG] [app] Starting request: urn:request:910489e0-8ffa-4e4b-871d-e770fdb56fab (/v2/testorg/alpine/manifests/sha256:cb1862fbe7951d7e19bf6012f18368a99531938db355638492374c14c50cd50d) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:58,629 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:cb1862fbe7951d7e19bf6012f18368a99531938db355638492374c14c50cd50d', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:58,629 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:58,629 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:58,631 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:58,631 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:58,631 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:58,631 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:58,631 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:58,632 [250] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:36:58,632 [250] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:36:58,632 [250] [DEBUG] [data.cache.impl] Found result in cache for key repository_lookup_testorg_alpine: {'id': 2, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': 0, 'namespace_user': {'stripe_id': None}} gunicorn-registry stdout | 2025-09-26 08:36:58,634 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:cb1862fbe7951d7e19bf6012f18368a99531938db355638492374c14c50cd50d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:58,638 [250] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL ((SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1") UNION ALL (SELECT * FROM (SELECT "t5"."id", "t5"."content_checksum", "t5"."image_size", "t5"."uuid", "t5"."cas_path", "t5"."uncompressed_size" FROM "imagestorage" AS "t5" INNER JOIN "uploadedblob" AS "t6" ON ("t6"."blob_id" = "t5"."id") WHERE (("t6"."repository_id" = %s) AND ("t5"."content_checksum" = %s)) LIMIT %s) AS "q2"))', [2, 'sha256:aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60', 1, 2, 'sha256:a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e', 1, 2, 'sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e', 1]) gunicorn-registry stdout | 2025-09-26 08:36:58,642 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:cb1862fbe7951d7e19bf6012f18368a99531938db355638492374c14c50cd50d', 2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:58,646 [250] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [2, 'sha256:cb1862fbe7951d7e19bf6012f18368a99531938db355638492374c14c50cd50d', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e",\n "size": 241\n },\n "layers": [\n {\n "mediaType": "application/vnd.in-toto+json",\n "digest": "sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e",\n "size": 79039,\n "annotations": {\n "in-toto.io/predicate-type": "https://spdx.dev/Document"\n }\n },\n {\n "mediaType": "application/vnd.in-toto+json",\n "digest": "sha256:aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60",\n "size": 5717,\n "annotations": {\n "in-toto.io/predicate-type": "https://slsa.dev/provenance/v0.2"\n }\n }\n ]\n}', 'application/vnd.oci.image.config.v1+json', 84756, None, True, None, True]) gunicorn-registry stdout | 2025-09-26 08:36:58,649 [250] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [2, 13, 35, 2, 13, 36, 2, 13, 37]) gunicorn-registry stdout | 2025-09-26 08:36:58,651 [250] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:58,652 [250] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [3, 1]) gunicorn-registry stdout | 2025-09-26 08:36:58,654 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 36, 13, 1]) gunicorn-registry stdout | 2025-09-26 08:36:58,655 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 37, 13, 1]) gunicorn-registry stdout | 2025-09-26 08:36:58,657 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 35, 13, 1]) gunicorn-registry stdout | 2025-09-26 08:36:58,658 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:58,660 [250] [INFO] [data.model.quota] updating namespace size for manifest 13 in namespace 3, QuotaOperation.ADD 84997 gunicorn-registry stdout | 2025-09-26 08:36:58,660 [250] [DEBUG] [peewee] ('UPDATE "quotanamespacesize" SET "size_bytes" = ("quotanamespacesize"."size_bytes" + %s) WHERE ("quotanamespacesize"."namespace_user_id" = %s)', [84997, 3]) gunicorn-registry stdout | 2025-09-26 08:36:58,661 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:58,662 [250] [INFO] [data.model.quota] updating repository size for manifest 13 in repository 2, QuotaOperation.ADD 84997 gunicorn-registry stdout | 2025-09-26 08:36:58,663 [250] [DEBUG] [peewee] ('UPDATE "quotarepositorysize" SET "size_bytes" = ("quotarepositorysize"."size_bytes" + %s) WHERE ("quotarepositorysize"."repository_id" = %s)', [84997, 2]) gunicorn-registry stdout | 2025-09-26 08:36:58,664 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [13, None, 1758879418664, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:58,666 [250] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-f15b32df-af2a-48dc-9654-439071b7c7bb', 2, 13, 1758875818664, 1758879418664, False, True, False, 1]) gunicorn-registry stdout | 2025-09-26 08:36:58,670 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:58,674 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['42a7e295-1848-4237-a4e3-c28b60bf18b0']) gunicorn-registry stdout | 2025-09-26 08:36:58,678 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:36:58,679 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:36:58,679 [250] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/a1/a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e'} gunicorn-registry stdout | 2025-09-26 08:36:58,679 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,679 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,679 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,679 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,679 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,679 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,680 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,680 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:36:58,680 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:36:58,680 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:36:58,680 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:36:58,680 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,680 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,680 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,680 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/a1/a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a1/a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a1/a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/a1/a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:36:58,680 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,680 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,680 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,680 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,681 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:36:58,681 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a1/a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083658Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:36:58,681 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083658Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | b0c1049dcb664c455d34e363032ef33250de8dacc8642b381e7ece985c5a1ebf gunicorn-registry stdout | 2025-09-26 08:36:58,681 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ca23f2e5074fb385e1bf5e597f35d37c3a0a3b5e1a0e2eb0799ed6757aac603e gunicorn-registry stdout | 2025-09-26 08:36:58,681 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,681 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:36:58,681 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:36:58,742 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a1/a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e HTTP/1.1" 200 241 gunicorn-registry stdout | 2025-09-26 08:36:58,743 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8zi2-e1yqr2-8tt', 'x-amz-id-2': 'mg0l8zi2-e1yqr2-8tt', 'ETag': '"517b0a2657a6f159dbb0c68ae54f1307-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:58 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:58 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:36:58,743 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:36:58,743 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:36:58,743 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:36:58,743 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:36:58,743 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8zi2-e1yqr2-8tt', 'HostId': 'mg0l8zi2-e1yqr2-8tt', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8zi2-e1yqr2-8tt', 'x-amz-id-2': 'mg0l8zi2-e1yqr2-8tt', 'etag': '"517b0a2657a6f159dbb0c68ae54f1307-1"', 'last-modified': 'Fri, 26 Sep 2025 08:36:58 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:36:58 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 36, 58, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"517b0a2657a6f159dbb0c68ae54f1307-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:36:58,746 [250] [DEBUG] [app] Ending request: urn:request:910489e0-8ffa-4e4b-871d-e770fdb56fab (/v2/testorg/alpine/manifests/sha256:cb1862fbe7951d7e19bf6012f18368a99531938db355638492374c14c50cd50d) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:910489e0-8ffa-4e4b-871d-e770fdb56fab', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/manifests/sha256:cb1862fbe7951d7e19bf6012f18368a99531938db355638492374c14c50cd50d', 'path': '/v2/testorg/alpine/manifests/sha256:cb1862fbe7951d7e19bf6012f18368a99531938db355638492374c14c50cd50d', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:a1a305e7cc0c7bd645c6cc51bc78c1a1ce2b2644dd116b0ddb5db45ce3816b9e', 'size': 241}, 'layers': [{'mediaType': 'application/vnd.in-toto+json', 'digest': 'sha256:642bd9a87afb8912e1cfc95bfbe82adceac1c1b2025f41880b6cb75b6c0c916e', 'size': 79039, 'annotations': {'in-toto.io/predicate-type': 'https://spdx.dev/Document'}}, {'mediaType': 'application/vnd.in-toto+json', 'digest': 'sha256:aa3813f2d7da392c21ed6d5dd675704c4911f681566aac59635a9b18705e6c60', 'size': 5717, 'annotations': {'in-toto.io/predicate-type': 'https://slsa.dev/provenance/v0.2'}}]}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:58,746 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:58,746 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:58,746 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:58 +0000] "PUT /v2/testorg/alpine/manifests/sha256:cb1862fbe7951d7e19bf6012f18368a99531938db355638492374c14c50cd50d HTTP/1.1" 201 2 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:58 +0000] "PUT /v2/testorg/alpine/manifests/sha256:cb1862fbe7951d7e19bf6012f18368a99531938db355638492374c14c50cd50d HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.118 2657 0.118) namespacegcworker stdout | 2025-09-26 08:36:58,836 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:36:58,836 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:34.840898+00:00 (in 36.004428 seconds) namespacegcworker stdout | 2025-09-26 08:36:58,836 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:58 GMT)" (scheduled at 2025-09-26 08:36:58.835976+00:00) namespacegcworker stdout | 2025-09-26 08:36:58,836 [66] [DEBUG] [workers.queueworker] Getting work item from queue. namespacegcworker stdout | 2025-09-26 08:36:58,837 [66] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 36, 58, 836833), True, datetime.datetime(2025, 9, 26, 8, 36, 58, 836833), 0, 'namespacegc/%', 50, 1, 0]) namespacegcworker stdout | 2025-09-26 08:36:58,850 [66] [DEBUG] [workers.queueworker] No more work. namespacegcworker stdout | 2025-09-26 08:36:58,850 [66] [DEBUG] [data.database] Disconnecting from database. namespacegcworker stdout | 2025-09-26 08:36:58,850 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:37:58 GMT)" executed successfully securityworker stdout | 2025-09-26 08:36:59,007 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "POST /indexer/api/v1/index_report HTTP/1.1" 201 None securityworker stdout | 2025-09-26 08:36:59,010 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."manifest_id", "t1"."repository_id", "t1"."index_status", "t1"."error_json", "t1"."last_indexed", "t1"."indexer_hash", "t1"."indexer_version", "t1"."metadata_json" FROM "manifestsecuritystatus" AS "t1" WHERE ("t1"."manifest_id" = %s) LIMIT %s OFFSET %s', [10, 1, 0]) securityworker stdout | 2025-09-26 08:36:59,014 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE ("t1"."manifest_id" = %s) LIMIT %s OFFSET %s', [10, 1, 0]) securityworker stdout | 2025-09-26 08:36:59,018 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:36:59,018 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/matcher/api/v1/vulnerability_report/sha256:af11d8e82a84ada96b5af358e796120e1c83f685d077b25ec05af8e6bc8827b6 securityworker stdout | 2025-09-26 08:36:59,097 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /matcher/api/v1/vulnerability_report/sha256:af11d8e82a84ada96b5af358e796120e1c83f685d077b25ec05af8e6bc8827b6 HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:36:59,101 [89] [DEBUG] [data.secscan_model.secscan_v4_model] Attempting to create notifications for manifest #10 securityworker stdout | 2025-09-26 08:36:59,101 [89] [DEBUG] [peewee] ('DELETE FROM "manifestsecuritystatus" WHERE ("manifestsecuritystatus"."manifest_id" = %s)', [10]) securityworker stdout | 2025-09-26 08:36:59,103 [89] [DEBUG] [peewee] ('INSERT INTO "manifestsecuritystatus" ("manifest_id", "repository_id", "index_status", "error_json", "last_indexed", "indexer_hash", "indexer_version", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifestsecuritystatus"."id"', [10, 2, 2, '""', datetime.datetime(2025, 9, 26, 8, 36, 59, 103565), '37b46b4a70b6f1a19d5e4e18d21f57ff', 4, '{}']) securityworker stdout | 2025-09-26 08:36:59,107 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [11, 1, 0]) securityworker stdout | 2025-09-26 08:36:59,112 [89] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095', 1, 0]) securityworker stdout | 2025-09-26 08:36:59,116 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['32b931e7-3228-4baf-a680-adbd7c5f93c2']) securityworker stdout | 2025-09-26 08:36:59,119 [89] [DEBUG] [boto3.resources.factory] Loading s3:Object securityworker stdout | 2025-09-26 08:36:59,120 [89] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7f614e757ec0> securityworker stdout | 2025-09-26 08:36:59,120 [89] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095'} securityworker stdout | 2025-09-26 08:36:59,120 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,120 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,120 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,120 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:59,120 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,121 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:59,121 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:59,121 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:59,121 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:59,121 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:59,121 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:59,121 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,121 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,121 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,121 [89] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} securityworker stdout | 2025-09-26 08:36:59,122 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:59,122 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:59,122 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,122 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,122 [89] [DEBUG] [botocore.auth] Calculating signature using v4 auth. securityworker stdout | 2025-09-26 08:36:59,122 [89] [DEBUG] [botocore.auth] CanonicalRequest: securityworker stdout | GET securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095 securityworker stdout | host:s3.openshift-storage.svc.cluster.local securityworker stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | x-amz-date:20250926T083659Z securityworker stdout | host;x-amz-content-sha256;x-amz-date securityworker stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | 2025-09-26 08:36:59,122 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | AWS4-HMAC-SHA256 securityworker stdout | 20250926T083659Z securityworker stdout | 20250926/us-east-1/s3/aws4_request securityworker stdout | 59fe658f4ed4200dbb694801ba36cf630a7ae255697a9a8412e481ba4f95fb64 securityworker stdout | 2025-09-26 08:36:59,122 [89] [DEBUG] [botocore.auth] Signature: securityworker stdout | 60d8e9e9cf5bd354250cfc3a21160e37e20ee83488e492de6390f2206d89d880 securityworker stdout | 2025-09-26 08:36:59,122 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,122 [89] [DEBUG] [botocore.endpoint] Sending http request: securityworker stdout | 2025-09-26 08:36:59,123 [89] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem securityworker stdout | 2025-09-26 08:36:59,138 [89] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/76/761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095 HTTP/1.1" 200 241 securityworker stdout | 2025-09-26 08:36:59,138 [89] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8zuc-4tfpu1-49i', 'x-amz-id-2': 'mg0l8zuc-4tfpu1-49i', 'ETag': '"61a75d0e757232a88592a29f55d878e0-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:54 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:59 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} securityworker stdout | 2025-09-26 08:36:59,138 [89] [DEBUG] [botocore.parsers] Response body: securityworker stdout | securityworker stdout | 2025-09-26 08:36:59,139 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,139 [89] [DEBUG] [botocore.retryhandler] No retry needed. securityworker stdout | 2025-09-26 08:36:59,139 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:59,139 [89] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8zuc-4tfpu1-49i', 'HostId': 'mg0l8zuc-4tfpu1-49i', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8zuc-4tfpu1-49i', 'x-amz-id-2': 'mg0l8zuc-4tfpu1-49i', 'etag': '"61a75d0e757232a88592a29f55d878e0-1"', 'last-modified': 'Fri, 26 Sep 2025 08:36:54 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:36:59 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 36, 54, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"61a75d0e757232a88592a29f55d878e0-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } securityworker stdout | 2025-09-26 08:36:59,142 [89] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL ((SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "manifestblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1") UNION ALL (SELECT * FROM (SELECT "t5"."id", "t5"."content_checksum", "t5"."image_size", "t5"."uuid", "t5"."cas_path", "t5"."uncompressed_size" FROM "imagestorage" AS "t5" INNER JOIN "manifestblob" AS "t6" ON ("t6"."blob_id" = "t5"."id") WHERE (("t6"."repository_id" = %s) AND ("t5"."content_checksum" = %s)) LIMIT %s) AS "q2"))', [2, 'sha256:b1c2aed2f4fbd5edc68212bb46bacd85cabf9ebec62b30efec7b7657f0213eac', 1, 2, 'sha256:761452f61cc7faecf79a125b3ce0ea53f36fc7dd97a263963e2659f25fe4a095', 1, 2, 'sha256:4d369543d64802619e5ea6a3217702d9474e7e51ce4172c5248b171899be826e', 1]) securityworker stdout | 2025-09-26 08:36:59,147 [89] [ERROR] [data.registry_model.registry_oci_model] Could not list manifest layers `11` securityworker stdout | Traceback (most recent call last): securityworker stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 666, in list_manifest_layers securityworker stdout | layers = self._list_manifest_layers( securityworker stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ securityworker stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 1263, in _list_manifest_layers securityworker stdout | for layer in layers: securityworker stdout | ^^^^^^ securityworker stdout | File "/quay-registry/image/oci/manifest.py", line 308, in get_layers securityworker stdout | command=image_layer.history.command, securityworker stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ securityworker stdout | AttributeError: 'NoneType' object has no attribute 'command' securityworker stdout | 2025-09-26 08:36:59,149 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) securityworker stdout | 2025-09-26 08:36:59,152 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) securityworker stdout | 2025-09-26 08:36:59,156 [89] [WARNING] [data.secscan_model.secscan_v4_model] Cannot index 3/alpine@sha256:c14851cd48d13b30981b7513c11e72f2cd7a90217efbce4d48233b5cfe23182f due to manifest being invalid (manifest has no layers) securityworker stdout | 2025-09-26 08:36:59,156 [89] [DEBUG] [peewee] ('DELETE FROM "manifestsecuritystatus" WHERE (("manifestsecuritystatus"."manifest_id" = %s) AND ("manifestsecuritystatus"."repository_id" = %s))', [11, 2]) securityworker stdout | 2025-09-26 08:36:59,158 [89] [DEBUG] [peewee] ('INSERT INTO "manifestsecuritystatus" ("manifest_id", "repository_id", "index_status", "error_json", "last_indexed", "indexer_hash", "indexer_version", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifestsecuritystatus"."id"', [11, 2, -2, '{}', datetime.datetime(2025, 9, 26, 8, 36, 59, 158587), 'none', 4, '{}']) securityworker stdout | 2025-09-26 08:36:59,162 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [12, 1, 0]) securityworker stdout | 2025-09-26 08:36:59,167 [89] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 1, 0]) securityworker stdout | 2025-09-26 08:36:59,171 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['ae87bbff-c1ad-434d-84aa-28ff0e2a2281']) securityworker stdout | 2025-09-26 08:36:59,175 [89] [DEBUG] [boto3.resources.factory] Loading s3:Object securityworker stdout | 2025-09-26 08:36:59,176 [89] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7f614e757ec0> securityworker stdout | 2025-09-26 08:36:59,176 [89] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee'} securityworker stdout | 2025-09-26 08:36:59,176 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,176 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,176 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,176 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:59,176 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,176 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:59,176 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:59,176 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:59,177 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:59,177 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:59,177 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:59,177 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,177 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,177 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,177 [89] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} securityworker stdout | 2025-09-26 08:36:59,177 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:59,177 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:59,177 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,177 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,178 [89] [DEBUG] [botocore.auth] Calculating signature using v4 auth. securityworker stdout | 2025-09-26 08:36:59,178 [89] [DEBUG] [botocore.auth] CanonicalRequest: securityworker stdout | GET securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee securityworker stdout | host:s3.openshift-storage.svc.cluster.local securityworker stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | x-amz-date:20250926T083659Z securityworker stdout | host;x-amz-content-sha256;x-amz-date securityworker stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | 2025-09-26 08:36:59,178 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | AWS4-HMAC-SHA256 securityworker stdout | 20250926T083659Z securityworker stdout | 20250926/us-east-1/s3/aws4_request securityworker stdout | 42c2350ac071fe4874b498718a36d5d461579b0bff1e67cdc13226a6b472745d securityworker stdout | 2025-09-26 08:36:59,178 [89] [DEBUG] [botocore.auth] Signature: securityworker stdout | 928f63451f644a7bce499eb2284193429cf889b84eb1e10cfe83305804efb08d securityworker stdout | 2025-09-26 08:36:59,178 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,178 [89] [DEBUG] [botocore.endpoint] Sending http request: securityworker stdout | 2025-09-26 08:36:59,178 [89] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem securityworker stdout | 2025-09-26 08:36:59,192 [89] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cc/cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee HTTP/1.1" 200 584 securityworker stdout | 2025-09-26 08:36:59,192 [89] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8zvv-5q8l85-vw0', 'x-amz-id-2': 'mg0l8zvv-5q8l85-vw0', 'ETag': '"753b145ff6db4e3b358fe0e389c37737-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:56 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '584', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:36:59 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} securityworker stdout | 2025-09-26 08:36:59,192 [89] [DEBUG] [botocore.parsers] Response body: securityworker stdout | securityworker stdout | 2025-09-26 08:36:59,193 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,193 [89] [DEBUG] [botocore.retryhandler] No retry needed. securityworker stdout | 2025-09-26 08:36:59,193 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:59,193 [89] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l8zvv-5q8l85-vw0', 'HostId': 'mg0l8zvv-5q8l85-vw0', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l8zvv-5q8l85-vw0', 'x-amz-id-2': 'mg0l8zvv-5q8l85-vw0', 'etag': '"753b145ff6db4e3b358fe0e389c37737-1"', 'last-modified': 'Fri, 26 Sep 2025 08:36:56 GMT', 'content-type': 'application/octet-stream', 'content-length': '584', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:36:59 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 36, 56, tzinfo=tzutc()), 'ContentLength': 584, 'ETag': '"753b145ff6db4e3b358fe0e389c37737-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } securityworker stdout | 2025-09-26 08:36:59,195 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4', 1, 0]) securityworker stdout | 2025-09-26 08:36:59,199 [89] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "manifestblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [2, 'sha256:33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0', 1, 2, 'sha256:cc40df68500fd27710307003a860cca71de4502bd43c23940216d572e121b1ee', 1]) securityworker stdout | 2025-09-26 08:36:59,203 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['d30078ff-e37e-46a7-81ce-c19d87e2a91c']) securityworker stdout | 2025-09-26 08:36:59,207 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['6d9afe7c-4cd4-46e0-8000-0876c9384bb4']) securityworker stdout | 2025-09-26 08:36:59,211 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."manifest_id", "t1"."repository_id", "t1"."index_status", "t1"."error_json", "t1"."last_indexed", "t1"."indexer_hash", "t1"."indexer_version", "t1"."metadata_json" FROM "manifestsecuritystatus" AS "t1" WHERE ("t1"."manifest_id" = %s)', [12]) securityworker stdout | 2025-09-26 08:36:59,215 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) securityworker stdout | 2025-09-26 08:36:59,219 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) securityworker stdout | 2025-09-26 08:36:59,222 [89] [DEBUG] [data.secscan_model.secscan_v4_model] Indexing manifest [12] 3/alpine@sha256:b058f50906dff72a20c83582eddad899cd501b7e4a0caca511cfdad19a129c30 securityworker stdout | 2025-09-26 08:36:59,223 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,223 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,223 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,223 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:59,223 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,223 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:59,223 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:59,223 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:59,223 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:59,223 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:59,223 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:59,223 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:59,224 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,224 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:36:59,224 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:36:59,224 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876419 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0 securityworker stdout | 2025-09-26 08:36:59,230 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ERTVMQ0pwWVhRaU9qRTNOVGc0TnpVNE1Ua3NJbVY0Y0NJNk1UYzFPRGczTmpReE9Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4ek15OHpNMkV5TkRNelpEZzVaR1kzWlRjNU5HUXhOalUxWm1ObE56QmtOekF6TVdRNE1EWTFZemszT1RoaVpHTXlPVE14Wmpkak9UaG1ZMk00WkRNeE1HUXdQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDB6VWpGMGJqUlVkV1p1V1VKaVRDVXlRblpVUkZkS0pUSkNjMFk0Y0ZvMEpUTkVKa1Y0Y0dseVpYTTlNVGMxT0RnM05qUXhPU0lzSW1odmMzUWlPaUp6TXk1dmNHVnVjMmhwWm5RdGMzUnZjbUZuWlM1emRtTXVZMngxYzNSbGNpNXNiMk5oYkRvME5ETWlMQ0p6WTJobGJXVWlPaUpvZEhSd2N5SjlYU3dpWTI5dWRHVjRkQ0k2ZTMxOS5DR0xxeW90T2Q0VzRVcjlzU1dIMDIxbnVsLWw5d3ROX2psc0ZtT1ZoNm1Cc0ZIMll3R09lbXc3NlVfNUYtNEJtVktkOHU4NGJlVHJOTENRTkZ5MUM5M01pWW5HdlNhb2JmNHRZZm9sQkFIUkc0V3dDdDdnR2cxelYwUndQejNPNjQ4MmZVX1pDTl9VVkhuZFd1cnJySGJWQzVZd1VzeTNkYXQ5VmFabEtwTHBBSm1VY1dlQmZYLUhKR3g4QXJOSXYycWFUZlJSSXRuWlpPNElDQ0k1R2EwTXVSSFZmcjRzZmtpeDVpZTRSS3FYaTFib3VDVGhRUFQxWjdGY2N1OE1DNEo5Tk5aZmQtZDJjZlBySEU0ZzU4YXRScXM1MjVnVEZLanlWYlVLOEdFTzc2UkNYWGVXMDJaSEZOdDQ3VGxMRVRWZGc3UXZiN1F3NzhWWC0wd2NVdlE=/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=3R1tn4TufnYBbL%2BvTDWJ%2BsF8pZ4%3D&Expires=1758876419 securityworker stdout | 2025-09-26 08:36:59,230 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,230 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,231 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,231 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:59,231 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,231 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:59,231 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:59,231 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:59,231 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:59,231 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:59,231 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:59,231 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:59,231 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,231 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:36:59,231 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:36:59,231 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876419 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0 securityworker stdout | 2025-09-26 08:36:59,238 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ERTVMQ0pwWVhRaU9qRTNOVGc0TnpVNE1Ua3NJbVY0Y0NJNk1UYzFPRGczTmpReE9Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4ek15OHpNMkV5TkRNelpEZzVaR1kzWlRjNU5HUXhOalUxWm1ObE56QmtOekF6TVdRNE1EWTFZemszT1RoaVpHTXlPVE14Wmpkak9UaG1ZMk00WkRNeE1HUXdQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDB6VWpGMGJqUlVkV1p1V1VKaVRDVXlRblpVUkZkS0pUSkNjMFk0Y0ZvMEpUTkVKa1Y0Y0dseVpYTTlNVGMxT0RnM05qUXhPU0lzSW1odmMzUWlPaUp6TXk1dmNHVnVjMmhwWm5RdGMzUnZjbUZuWlM1emRtTXVZMngxYzNSbGNpNXNiMk5oYkRvME5ETWlMQ0p6WTJobGJXVWlPaUpvZEhSd2N5SjlYU3dpWTI5dWRHVjRkQ0k2ZTMxOS5DR0xxeW90T2Q0VzRVcjlzU1dIMDIxbnVsLWw5d3ROX2psc0ZtT1ZoNm1Cc0ZIMll3R09lbXc3NlVfNUYtNEJtVktkOHU4NGJlVHJOTENRTkZ5MUM5M01pWW5HdlNhb2JmNHRZZm9sQkFIUkc0V3dDdDdnR2cxelYwUndQejNPNjQ4MmZVX1pDTl9VVkhuZFd1cnJySGJWQzVZd1VzeTNkYXQ5VmFabEtwTHBBSm1VY1dlQmZYLUhKR3g4QXJOSXYycWFUZlJSSXRuWlpPNElDQ0k1R2EwTXVSSFZmcjRzZmtpeDVpZTRSS3FYaTFib3VDVGhRUFQxWjdGY2N1OE1DNEo5Tk5aZmQtZDJjZlBySEU0ZzU4YXRScXM1MjVnVEZLanlWYlVLOEdFTzc2UkNYWGVXMDJaSEZOdDQ3VGxMRVRWZGc3UXZiN1F3NzhWWC0wd2NVdlE=/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/33/33a2433d89df7e794d1655fce70d7031d8065c9798bdc2931f7c98fcc8d310d0?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=3R1tn4TufnYBbL%2BvTDWJ%2BsF8pZ4%3D&Expires=1758876419 securityworker stdout | 2025-09-26 08:36:59,239 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,239 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,239 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,239 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:59,239 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,239 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:59,239 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:59,239 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:59,239 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:59,239 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:59,239 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:59,239 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:59,239 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,239 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:36:59,240 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:36:59,240 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876419 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 securityworker stdout | 2025-09-26 08:36:59,246 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ERTVMQ0pwWVhRaU9qRTNOVGc0TnpVNE1Ua3NJbVY0Y0NJNk1UYzFPRGczTmpReE9Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE15OWhNMlZrT1RWallXVmlNREptWm1VMk9HTmtaRGxtWkRnME5EQTJOamd3WVdVNU0yUTJNek5qWWpFMk5ESXlaREF3WlRoaE4yTXlNamsxTldJME5tUTBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDAyV1RGcVIwZ3dWMVFsTWtKelMzZDNjSGhJU2tOc2VITjJNalo1WXlVelJDWkZlSEJwY21WelBURTNOVGc0TnpZME1Ua2lMQ0pvYjNOMElqb2ljek11YjNCbGJuTm9hV1owTFhOMGIzSmhaMlV1YzNaakxtTnNkWE4wWlhJdWJHOWpZV3c2TkRReklpd2ljMk5vWlcxbElqb2lhSFIwY0hNaWZWMHNJbU52Ym5SbGVIUWlPbnQ5ZlEuUEpTMEpXZ0V3T2tCamROS0RsdXlST1FFREw4dDFDY0x3NFlibFBTMGxHX0toSFEtanhMQjJLeGd0MXZtVFd6dlVCRE1sRUtMNUtfOVp6X1hyaGhsTEpLN1RnMW9ZZFZzYXczd3dCMVQwUEFrTndzOUEtU3lVUTVLcmo5bF81Uy1qbWs1V2V4UzZpcUxidkZxUFFqcHNWZjJDOE04SXMyUTFwS2I4R1ZpbkVSMFFqdm4yUk9PWHZRYnRxTTNZamlLbGo2NnpORkdnUXd3cHNEV3hZTWtOMGZnUGxKYmJ5M2ttaFBxVDR3RjRFajZ3am9tbHA2blR1UkJrc0tselVEWmVtUVc1MTFFUTNfZ1JJQmQtVVVjTUZfQ2xZei05N3YyajJ6UUZmWVlfTmswQnk0eng3VkthaEJMYUdRcG0zancycEhIcjdEc29FR3pNeG5CSzJQbVJB/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=6Y1jGH0WT%2BsKwwpxHJClxsv26yc%3D&Expires=1758876419 securityworker stdout | 2025-09-26 08:36:59,247 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,247 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,247 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,247 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:59,247 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,247 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:36:59,247 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:36:59,247 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:36:59,247 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:36:59,247 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:36:59,247 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:36:59,247 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:36:59,247 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:36:59,247 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:36:59,248 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:36:59,248 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876419 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 securityworker stdout | 2025-09-26 08:36:59,254 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ERTVMQ0pwWVhRaU9qRTNOVGc0TnpVNE1Ua3NJbVY0Y0NJNk1UYzFPRGczTmpReE9Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE15OWhNMlZrT1RWallXVmlNREptWm1VMk9HTmtaRGxtWkRnME5EQTJOamd3WVdVNU0yUTJNek5qWWpFMk5ESXlaREF3WlRoaE4yTXlNamsxTldJME5tUTBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDAyV1RGcVIwZ3dWMVFsTWtKelMzZDNjSGhJU2tOc2VITjJNalo1WXlVelJDWkZlSEJwY21WelBURTNOVGc0TnpZME1Ua2lMQ0pvYjNOMElqb2ljek11YjNCbGJuTm9hV1owTFhOMGIzSmhaMlV1YzNaakxtTnNkWE4wWlhJdWJHOWpZV3c2TkRReklpd2ljMk5vWlcxbElqb2lhSFIwY0hNaWZWMHNJbU52Ym5SbGVIUWlPbnQ5ZlEuUEpTMEpXZ0V3T2tCamROS0RsdXlST1FFREw4dDFDY0x3NFlibFBTMGxHX0toSFEtanhMQjJLeGd0MXZtVFd6dlVCRE1sRUtMNUtfOVp6X1hyaGhsTEpLN1RnMW9ZZFZzYXczd3dCMVQwUEFrTndzOUEtU3lVUTVLcmo5bF81Uy1qbWs1V2V4UzZpcUxidkZxUFFqcHNWZjJDOE04SXMyUTFwS2I4R1ZpbkVSMFFqdm4yUk9PWHZRYnRxTTNZamlLbGo2NnpORkdnUXd3cHNEV3hZTWtOMGZnUGxKYmJ5M2ttaFBxVDR3RjRFajZ3am9tbHA2blR1UkJrc0tselVEWmVtUVc1MTFFUTNfZ1JJQmQtVVVjTUZfQ2xZei05N3YyajJ6UUZmWVlfTmswQnk0eng3VkthaEJMYUdRcG0zancycEhIcjdEc29FR3pNeG5CSzJQbVJB/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=6Y1jGH0WT%2BsKwwpxHJClxsv26yc%3D&Expires=1758876419 securityworker stdout | 2025-09-26 08:36:59,254 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:36:59,254 [89] [DEBUG] [util.secscan.v4.api] POSTing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_report gunicorn-registry stdout | 2025-09-26 08:36:59,259 [257] [DEBUG] [app] Starting request: urn:request:e7d6cbfc-ad47-4b0d-8afd-54cd34b5b7a2 (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:36:59,259 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:36:59,259 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:59,259 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:36:59,260 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:36:59,260 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:36:59,260 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:36:59,260 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:36:59,260 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:36:59,262 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:59,266 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:59,270 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:59,274 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:59,278 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:59,281 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:59,285 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:36:59,288 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:36:59,292 [257] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, 'fb5ac9fb-7557-4785-ad94-9cbd6fb12427', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 36, 59, 292147)]) gunicorn-registry stdout | 2025-09-26 08:36:59,298 [257] [DEBUG] [app] Ending request: urn:request:e7d6cbfc-ad47-4b0d-8afd-54cd34b5b7a2 (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:e7d6cbfc-ad47-4b0d-8afd-54cd34b5b7a2', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:36:59,299 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:36:59,299 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:36:59,299 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:36:59 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:36:59 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.041 1693 0.041) gunicorn-registry stdout | 2025-09-26 08:37:00,042 [250] [DEBUG] [app] Starting request: urn:request:1bb468ae-65af-4cb8-8631-e346958ba6e0 (/v2/testorg/alpine/blobs/uploads/fb5ac9fb-7557-4785-ad94-9cbd6fb12427) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:00,043 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'fb5ac9fb-7557-4785-ad94-9cbd6fb12427', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:00,043 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:00,043 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:00,044 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:00,044 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:00,044 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:00,044 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:00,044 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:00,045 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,051 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,054 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,058 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,062 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) globalpromstats stdout | 2025-09-26 08:37:00,065 [58] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'globalpromstats.py', 'pid': '58'} gunicorn-registry stdout | 2025-09-26 08:37:00,066 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,069 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,073 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:37:00,076 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['fb5ac9fb-7557-4785-ad94-9cbd6fb12427', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,080 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:00,080 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:00,080 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:00,081 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:00,081 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/37c6eae4-9a36-4ec8-aa79-5c9ac9e2bd98', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:00,081 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,081 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,081 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,081 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,082 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,082 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,082 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,082 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,082 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:00,082 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:00,082 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:00,082 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:00,082 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,082 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,082 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,082 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/37c6eae4-9a36-4ec8-aa79-5c9ac9e2bd98?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/37c6eae4-9a36-4ec8-aa79-5c9ac9e2bd98', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/37c6eae4-9a36-4ec8-aa79-5c9ac9e2bd98?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/37c6eae4-9a36-4ec8-aa79-5c9ac9e2bd98', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:00,083 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,083 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,083 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,083 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,083 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:00,083 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/37c6eae4-9a36-4ec8-aa79-5c9ac9e2bd98 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083700Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:00,083 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083700Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ba892a30885da28c59fe617373adf5be74432c3c060718372fa75cc7d0814786 gunicorn-registry stdout | 2025-09-26 08:37:00,083 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 096fa3139e6363d6704b346c2ed35ec7525bbd48afe85c66125a4aaeeec03ea4 gunicorn-registry stdout | 2025-09-26 08:37:00,083 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,083 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:00,083 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:00,089 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/37c6eae4-9a36-4ec8-aa79-5c9ac9e2bd98?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:00,089 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l90l0-45z8t9-tdk', 'x-amz-id-2': 'mg0l90l0-45z8t9-tdk', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:00 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:00,089 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/37c6eae4-9a36-4ec8-aa79-5c9ac9e2bd9868d650acd73ec60008f9345b' gunicorn-registry stdout | 2025-09-26 08:37:00,089 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,089 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:00,089 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,090 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l90l0-45z8t9-tdk', 'HostId': 'mg0l90l0-45z8t9-tdk', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l90l0-45z8t9-tdk', 'x-amz-id-2': 'mg0l90l0-45z8t9-tdk', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:00 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/37c6eae4-9a36-4ec8-aa79-5c9ac9e2bd98', 'UploadId': '68d650acd73ec60008f9345b'} gunicorn-registry stdout | 2025-09-26 08:37:00,090 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:00,090 [250] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/37c6eae4-9a36-4ec8-aa79-5c9ac9e2bd98', 'UploadId': '68d650acd73ec60008f9345b'} gunicorn-registry stdout | 2025-09-26 08:37:00,090 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,090 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,090 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,090 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,090 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,090 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,090 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:00,090 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:00,090 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:00,091 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:00,091 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,091 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,091 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,091 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/37c6eae4-9a36-4ec8-aa79-5c9ac9e2bd98', 'query_string': {'uploadId': '68d650acd73ec60008f9345b'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/37c6eae4-9a36-4ec8-aa79-5c9ac9e2bd98', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/37c6eae4-9a36-4ec8-aa79-5c9ac9e2bd98?uploadId=68d650acd73ec60008f9345b', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/37c6eae4-9a36-4ec8-aa79-5c9ac9e2bd98', 'UploadId': '68d650acd73ec60008f9345b'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:00,091 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,091 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,091 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,091 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,091 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:00,091 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/37c6eae4-9a36-4ec8-aa79-5c9ac9e2bd98 gunicorn-registry stdout | uploadId=68d650acd73ec60008f9345b gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083700Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:00,091 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083700Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | c68a6f37df772add3f68f5433389b481b2733ce564d250ccd3d6dd475b999895 gunicorn-registry stdout | 2025-09-26 08:37:00,091 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 5117cef23ecf01bbc53921659d573f88adce6edeef1c02f32b93ebb6e684591d gunicorn-registry stdout | 2025-09-26 08:37:00,091 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,091 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:00,092 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:00,097 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/37c6eae4-9a36-4ec8-aa79-5c9ac9e2bd98?uploadId=68d650acd73ec60008f9345b HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:00,097 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l90l8-4aragk-1bvc', 'x-amz-id-2': 'mg0l90l8-4aragk-1bvc', 'Date': 'Fri, 26 Sep 2025 08:37:00 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:00,097 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:00,098 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,098 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:00,098 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,098 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l90l8-4aragk-1bvc', 'HostId': 'mg0l90l8-4aragk-1bvc', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l90l8-4aragk-1bvc', 'x-amz-id-2': 'mg0l90l8-4aragk-1bvc', 'date': 'Fri, 26 Sep 2025 08:37:00 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:00,098 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob fb5ac9fb-7557-4785-ad94-9cbd6fb12427 took 0.017994403839111328 seconds gunicorn-registry stdout | 2025-09-26 08:37:00,098 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['fb5ac9fb-7557-4785-ad94-9cbd6fb12427', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,102 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, 'fb5ac9fb-7557-4785-ad94-9cbd6fb12427', 3513811, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENw5S7fV/7fAAAA//+u13beAEJwAFTtjv9H/K+jgO9TxtPxx27ff13x/361epQ7/lBX1N+7/488DX+YvJ//dJe73BMAAAAAAAAAAO6sAQAAAACTxa5BT72bBPDeuqQFF0mSn/XlzT7KIA53Ki0R54zvXJRiLg==', 9, '{"chunks": [["uploads/52cf0717-aabe-431a-88c5-a12d7bbf7beb", 0, 3513811]]}', 2, 7356928, datetime.datetime(2025, 9, 26, 8, 36, 59, 292147), None, None, 37]) gunicorn-registry stdout | 2025-09-26 08:37:00,106 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:00,106 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:00,106 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:00,107 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:00,107 [250] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39'} gunicorn-registry stdout | 2025-09-26 08:37:00,107 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,107 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,107 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,107 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,107 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,107 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,107 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,108 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:00,108 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:00,108 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:00,108 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:00,108 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,108 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,108 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,108 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:00,108 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,108 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,108 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,108 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,108 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:00,108 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083700Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:00,108 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083700Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | de93bbfb888b04a4ced7bdc081b8b7d9b23903cdfa1303ca12129b3b21ae528e gunicorn-registry stdout | 2025-09-26 08:37:00,109 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | a65714511dc26ea1c756244eb7ed603ffbf1a4663a71352537b2b43b9c07f82a gunicorn-registry stdout | 2025-09-26 08:37:00,109 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,109 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:00,109 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:00,113 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:00,113 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l90lq-4l1lnq-231', 'x-amz-id-2': 'mg0l90lq-4l1lnq-231', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:00 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:00,113 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:00,113 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,113 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:00,114 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,114 [250] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:00,114 [250] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:00,114 [250] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39 gunicorn-registry stdout | 2025-09-26 08:37:00,114 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:00,114 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:00,114 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:00,115 [250] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:00,115 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,115 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,115 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,115 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,115 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,115 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,115 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,115 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:00,115 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:00,116 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:00,116 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:00,116 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,116 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,116 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,116 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/52cf0717-aabe-431a-88c5-a12d7bbf7beb', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/52cf0717-aabe-431a-88c5-a12d7bbf7beb', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/52cf0717-aabe-431a-88c5-a12d7bbf7beb', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/52cf0717-aabe-431a-88c5-a12d7bbf7beb'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:00,116 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,116 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,116 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,116 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,116 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,116 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:00,116 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/52cf0717-aabe-431a-88c5-a12d7bbf7beb gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083700Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:00,117 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083700Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 91033a94734cd44ed03e565b7d391df92b87920db5cecb59b48a38e408179479 gunicorn-registry stdout | 2025-09-26 08:37:00,117 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 5a8babf19fcc6c8453f26e072334b6cc4086a7b70737aa23c07dfc007336b1f1 gunicorn-registry stdout | 2025-09-26 08:37:00,117 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,117 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,117 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:00,117 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:00,117 [250] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:37:00,143 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/52cf0717-aabe-431a-88c5-a12d7bbf7beb HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:00,144 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l90mk-52vkyp-1cr5', 'x-amz-id-2': 'mg0l90mk-52vkyp-1cr5', 'ETag': '"db7c07c311eb71db7cb910162089cda1-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:36:59 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '3513811', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:00 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:00,144 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:00,144 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,144 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:00,144 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,144 [250] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:00,144 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:00,145 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:00,145 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:00,145 [250] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/52cf0717-aabe-431a-88c5-a12d7bbf7beb'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39', 'extra_args': {}, 'callbacks': [], 'size': 3513811} gunicorn-registry stdout | 2025-09-26 08:37:00,145 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,145 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,145 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,145 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,145 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,145 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,145 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,145 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,145 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,145 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,145 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:00,145 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:00,145 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:00,145 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:00,146 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,146 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,146 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,146 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/52cf0717-aabe-431a-88c5-a12d7bbf7beb', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/52cf0717-aabe-431a-88c5-a12d7bbf7beb', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:00,146 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,146 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,146 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,146 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,146 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,146 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:00,146 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/52cf0717-aabe-431a-88c5-a12d7bbf7beb gunicorn-registry stdout | x-amz-date:20250926T083700Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:00,146 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083700Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 22fb7d1a32b3b444db083aa4dc5fc3f924e838a8e72ed3553b95d491be956525 gunicorn-registry stdout | 2025-09-26 08:37:00,147 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 4e308527a8fd26130d51d46dcc5a10863d15fa4c52e5ff346ca18cae0279df80 gunicorn-registry stdout | 2025-09-26 08:37:00,147 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,147 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,147 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:00,147 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:00,147 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:00,173 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:00,173 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l90ms-57vdd6-10vo', 'x-amz-id-2': 'mg0l90ms-57vdd6-10vo', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:00 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:00,173 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:00.000Z"db7c07c311eb71db7cb910162089cda1-1"' gunicorn-registry stdout | 2025-09-26 08:37:00,173 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,173 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,173 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:00,173 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,174 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:00,174 [250] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob fb5ac9fb-7557-4785-ad94-9cbd6fb12427 with digest sha256:a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39 took 0.060373783111572266 seconds gunicorn-registry stdout | 2025-09-26 08:37:00,175 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['fb5ac9fb-7557-4785-ad94-9cbd6fb12427', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,178 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,179 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['9b27eeae-fd96-44ac-bf5c-b11857d9934e', 3513811, 7356928, True, True, 'sha256:a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39']) gunicorn-registry stdout | 2025-09-26 08:37:00,181 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [38, 9]) gunicorn-registry stdout | 2025-09-26 08:37:00,182 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,184 [250] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 38, datetime.datetime(2025, 9, 26, 8, 37, 0, 184530), datetime.datetime(2025, 9, 26, 9, 37, 0, 184162)]) gunicorn-registry stdout | 2025-09-26 08:37:00,186 [250] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [37]) gunicorn-registry stdout | 2025-09-26 08:37:00,189 [250] [DEBUG] [app] Ending request: urn:request:1bb468ae-65af-4cb8-8631-e346958ba6e0 (/v2/testorg/alpine/blobs/uploads/fb5ac9fb-7557-4785-ad94-9cbd6fb12427) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:1bb468ae-65af-4cb8-8631-e346958ba6e0', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/fb5ac9fb-7557-4785-ad94-9cbd6fb12427?digest=sha256:a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39', 'path': '/v2/testorg/alpine/blobs/uploads/fb5ac9fb-7557-4785-ad94-9cbd6fb12427', 'parameters': {'digest': 'sha256:a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:00,190 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:00,190 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:00 +0000] "PUT /v2/testorg/alpine/blobs/uploads/fb5ac9fb-7557-4785-ad94-9cbd6fb12427?digest=sha256%3Aa0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.149 1849 0.148) gunicorn-registry stdout | 2025-09-26 08:37:00,190 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:00 +0000] "PUT /v2/testorg/alpine/blobs/uploads/fb5ac9fb-7557-4785-ad94-9cbd6fb12427?digest=sha256%3Aa0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" securityworker stdout | 2025-09-26 08:37:00,586 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "POST /indexer/api/v1/index_report HTTP/1.1" 201 None securityworker stdout | 2025-09-26 08:37:00,590 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."manifest_id", "t1"."repository_id", "t1"."index_status", "t1"."error_json", "t1"."last_indexed", "t1"."indexer_hash", "t1"."indexer_version", "t1"."metadata_json" FROM "manifestsecuritystatus" AS "t1" WHERE ("t1"."manifest_id" = %s) LIMIT %s OFFSET %s', [12, 1, 0]) securityworker stdout | 2025-09-26 08:37:00,594 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE ("t1"."manifest_id" = %s) LIMIT %s OFFSET %s', [12, 1, 0]) securityworker stdout | 2025-09-26 08:37:00,598 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:37:00,598 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/matcher/api/v1/vulnerability_report/sha256:b058f50906dff72a20c83582eddad899cd501b7e4a0caca511cfdad19a129c30 securityworker stdout | 2025-09-26 08:37:00,618 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /matcher/api/v1/vulnerability_report/sha256:b058f50906dff72a20c83582eddad899cd501b7e4a0caca511cfdad19a129c30 HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:37:00,621 [89] [DEBUG] [data.secscan_model.secscan_v4_model] Attempting to create notifications for manifest #12 securityworker stdout | 2025-09-26 08:37:00,621 [89] [DEBUG] [peewee] ('DELETE FROM "manifestsecuritystatus" WHERE ("manifestsecuritystatus"."manifest_id" = %s)', [12]) securityworker stdout | 2025-09-26 08:37:00,624 [89] [DEBUG] [peewee] ('INSERT INTO "manifestsecuritystatus" ("manifest_id", "repository_id", "index_status", "error_json", "last_indexed", "indexer_hash", "indexer_version", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifestsecuritystatus"."id"', [12, 2, 2, '""', datetime.datetime(2025, 9, 26, 8, 37, 0, 623955), '37b46b4a70b6f1a19d5e4e18d21f57ff', 4, '{}']) securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Marking id range as completed: 1-13 by worker securityworker stdout | 2025-09-26 08:37:00,628 [89] [DEBUG] [util.migrate.allocator] Marking id range as completed: 1-13 by worker securityworker stdout | 2025-09-26 08:37:00,628 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-13 securityworker stdout | 2025-09-26 08:37:00,628 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:37:00,628 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 13 securityworker stdout | 2025-09-26 08:37:00,628 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:00,628 [89] [DEBUG] [util.migrate.allocator] Total range: 13-1 securityworker stdout | 2025-09-26 08:37:00,628 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:37:00,628 [89] [DEBUG] [util.migrate.allocator] Total range: 1-13 securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-13 securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 13 securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Total range: 13-1 securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Total range: 1-13 securityworker stdout | 2025-09-26 08:37:00,628 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:00,628 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-13 securityworker stdout | 2025-09-26 08:37:00,628 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-13 securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:37:00,629 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 31, 57, 341043), 1, 13]) securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-13 by worker securityworker stdout | 2025-09-26 08:37:00,632 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-13 by worker securityworker stdout | 2025-09-26 08:37:00,632 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-13 securityworker stdout | 2025-09-26 08:37:00,632 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:37:00,632 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 13 securityworker stdout | 2025-09-26 08:37:00,632 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:00,632 [89] [DEBUG] [util.migrate.allocator] Total range: 13-1 securityworker stdout | 2025-09-26 08:37:00,632 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:37:00,632 [89] [DEBUG] [util.migrate.allocator] Total range: 1-13 securityworker stdout | 2025-09-26 08:37:00,632 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:00,632 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-13 securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-13 securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 13 securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Total range: 13-1 securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Total range: 1-13 securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-13 securityworker stdout | 2025-09-26 08:37:00,632 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:37:00,633 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 31, 57, 341043), 1, 13]) securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:37:00,636 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-13 by worker securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-13 by worker securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-13 securityworker stdout | 2025-09-26 08:37:00,636 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-13 securityworker stdout | 2025-09-26 08:37:00,636 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:37:00,636 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 13 securityworker stdout | 2025-09-26 08:37:00,636 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:00,637 [89] [DEBUG] [util.migrate.allocator] Total range: 13-1 securityworker stdout | 2025-09-26 08:37:00,637 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:37:00,637 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 13 securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] Total range: 13-1 securityworker stderr | 2025-09-26 08:37:00 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:37:00,637 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:27 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:37:00,794 [250] [DEBUG] [app] Starting request: urn:request:5e72605b-a360-4ee2-8724-41d0c309dded (/v2/testorg/alpine/manifests/sha256:d17c97e1ccf6490cb90fa17f6f021e404401d2656928631c73fd75ee711d87bd) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:00,794 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:d17c97e1ccf6490cb90fa17f6f021e404401d2656928631c73fd75ee711d87bd', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:00,794 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:00,794 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:00,795 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:00,795 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:00,795 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:00,795 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:00,795 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:00,797 [250] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:37:00,797 [250] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:37:00,797 [250] [DEBUG] [data.cache.impl] Found result in cache for key repository_lookup_testorg_alpine: {'id': 2, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': 0, 'namespace_user': {'stripe_id': None}} gunicorn-registry stdout | 2025-09-26 08:37:00,798 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:d17c97e1ccf6490cb90fa17f6f021e404401d2656928631c73fd75ee711d87bd', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,803 [250] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [2, 'sha256:a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39', 1, 2, 'sha256:3139e75da5d8de02f503007200b5d1b3f8770caefa8b6a4c79adcf94832b4cc2', 1]) gunicorn-registry stdout | 2025-09-26 08:37:00,806 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:d17c97e1ccf6490cb90fa17f6f021e404401d2656928631c73fd75ee711d87bd', 2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,812 [250] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [2, 'sha256:d17c97e1ccf6490cb90fa17f6f021e404401d2656928631c73fd75ee711d87bd', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:3139e75da5d8de02f503007200b5d1b3f8770caefa8b6a4c79adcf94832b4cc2",\n "size": 584\n },\n "layers": [\n {\n "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",\n "digest": "sha256:a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39",\n "size": 3513811\n }\n ],\n "annotations": {\n "com.docker.official-images.bashbrew.arch": "riscv64",\n "org.opencontainers.image.base.name": "scratch",\n "org.opencontainers.image.created": "2025-05-30T16:20:41Z",\n "org.opencontainers.image.revision": "5213c5a71c73d39d5896657909e753effb1c05ff",\n "org.opencontainers.image.source": "https://github.com/alpinelinux/docker-alpine.git#5213c5a71c73d39d5896657909e753effb1c05ff:riscv64",\n "org.opencontainers.image.url": "https://hub.docker.com/_/alpine",\n "org.opencontainers.image.version": "3.22.0"\n }\n}', 'application/vnd.oci.image.config.v1+json', 3513811, None, True, None, True]) gunicorn-registry stdout | 2025-09-26 08:37:00,814 [250] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [2, 14, 38, 2, 14, 39]) gunicorn-registry stdout | 2025-09-26 08:37:00,816 [250] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,818 [250] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [3, 1]) gunicorn-registry stdout | 2025-09-26 08:37:00,819 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 38, 14, 1]) gunicorn-registry stdout | 2025-09-26 08:37:00,820 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 39, 14, 1]) gunicorn-registry stdout | 2025-09-26 08:37:00,822 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,823 [250] [INFO] [data.model.quota] updating namespace size for manifest 14 in namespace 3, QuotaOperation.ADD 3514395 gunicorn-registry stdout | 2025-09-26 08:37:00,823 [250] [DEBUG] [peewee] ('UPDATE "quotanamespacesize" SET "size_bytes" = ("quotanamespacesize"."size_bytes" + %s) WHERE ("quotanamespacesize"."namespace_user_id" = %s)', [3514395, 3]) gunicorn-registry stdout | 2025-09-26 08:37:00,825 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,827 [250] [INFO] [data.model.quota] updating repository size for manifest 14 in repository 2, QuotaOperation.ADD 3514395 gunicorn-registry stdout | 2025-09-26 08:37:00,827 [250] [DEBUG] [peewee] ('UPDATE "quotarepositorysize" SET "size_bytes" = ("quotarepositorysize"."size_bytes" + %s) WHERE ("quotarepositorysize"."repository_id" = %s)', [3514395, 2]) gunicorn-registry stdout | 2025-09-26 08:37:00,829 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [14, None, 1758879420828, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,831 [250] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-1f08f4d7-558d-4797-ad85-1ccde8241b52', 2, 14, 1758875820828, 1758879420828, False, True, False, 1]) gunicorn-registry stdout | 2025-09-26 08:37:00,834 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:3139e75da5d8de02f503007200b5d1b3f8770caefa8b6a4c79adcf94832b4cc2', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,839 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['ed59a6c3-28ec-4b97-b5f1-b79c436780b9']) gunicorn-registry stdout | 2025-09-26 08:37:00,842 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:00,843 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:00,843 [250] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/31/3139e75da5d8de02f503007200b5d1b3f8770caefa8b6a4c79adcf94832b4cc2'} gunicorn-registry stdout | 2025-09-26 08:37:00,843 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,843 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,843 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,843 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,843 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,843 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,843 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,843 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:00,843 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:00,843 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:00,843 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:00,844 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,844 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,844 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,844 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/31/3139e75da5d8de02f503007200b5d1b3f8770caefa8b6a4c79adcf94832b4cc2', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3139e75da5d8de02f503007200b5d1b3f8770caefa8b6a4c79adcf94832b4cc2', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3139e75da5d8de02f503007200b5d1b3f8770caefa8b6a4c79adcf94832b4cc2', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/31/3139e75da5d8de02f503007200b5d1b3f8770caefa8b6a4c79adcf94832b4cc2'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:00,844 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,844 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,844 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,844 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,844 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:00,844 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3139e75da5d8de02f503007200b5d1b3f8770caefa8b6a4c79adcf94832b4cc2 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083700Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:00,844 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083700Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | c2afbbe46b700774e64d675be8ab5027b50ddfdc7b2566ac5926ba0874c05599 gunicorn-registry stdout | 2025-09-26 08:37:00,844 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 296355f4fd3145123fdf3878d443261afe902964230a5fcd8aa96e42c8984cb0 gunicorn-registry stdout | 2025-09-26 08:37:00,844 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,844 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:00,845 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:00,905 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3139e75da5d8de02f503007200b5d1b3f8770caefa8b6a4c79adcf94832b4cc2 HTTP/1.1" 200 584 gunicorn-registry stdout | 2025-09-26 08:37:00,906 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9166-85k8q-184z', 'x-amz-id-2': 'mg0l9166-85k8q-184z', 'ETag': '"d79d1533d445974a6fac572ac13d1f99-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:00 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '584', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:00 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:00,906 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:00,906 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:00,906 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:00,906 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:00,906 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9166-85k8q-184z', 'HostId': 'mg0l9166-85k8q-184z', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9166-85k8q-184z', 'x-amz-id-2': 'mg0l9166-85k8q-184z', 'etag': '"d79d1533d445974a6fac572ac13d1f99-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:00 GMT', 'content-type': 'application/octet-stream', 'content-length': '584', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:00 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, tzinfo=tzutc()), 'ContentLength': 584, 'ETag': '"d79d1533d445974a6fac572ac13d1f99-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:00,908 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [14, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,912 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['72f908b6-0c98-4499-acd2-f70a84e20bad', 'com.docker.official-images.bashbrew.arch', 'riscv64', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:00,915 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 14, 43]) gunicorn-registry stdout | 2025-09-26 08:37:00,918 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [14, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,922 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['ed7dc00b-2cee-40d7-9e2d-419d3cd952ef', 'org.opencontainers.image.base.name', 'scratch', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:00,924 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 14, 44]) gunicorn-registry stdout | 2025-09-26 08:37:00,928 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [14, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,933 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['996b5e33-18a5-4ceb-950b-f9ded0d9d5b0', 'org.opencontainers.image.created', '2025-05-30T16:20:41Z', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:00,935 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 14, 45]) gunicorn-registry stdout | 2025-09-26 08:37:00,939 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [14, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,943 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['103cc077-842c-4967-8cac-ae67cb84b9f1', 'org.opencontainers.image.revision', '5213c5a71c73d39d5896657909e753effb1c05ff', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:00,945 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 14, 46]) gunicorn-registry stdout | 2025-09-26 08:37:00,948 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [14, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,952 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['a1a3ca11-6ffd-4598-bb23-4e6f57d88c50', 'org.opencontainers.image.source', 'https://github.com/alpinelinux/docker-alpine.git#5213c5a71c73d39d5896657909e753effb1c05ff:riscv64', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:00,954 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 14, 47]) gunicorn-registry stdout | 2025-09-26 08:37:00,958 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [14, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,962 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['bd7aa658-683d-4824-bcdf-bcb321334a22', 'org.opencontainers.image.url', 'https://hub.docker.com/_/alpine', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:00,964 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 14, 48]) gunicorn-registry stdout | 2025-09-26 08:37:00,967 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [14, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:00,971 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['951997ca-1d6a-45aa-b628-73ee8f1253c7', 'org.opencontainers.image.version', '3.22.0', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:00,973 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 14, 49]) gunicorn-registry stdout | 2025-09-26 08:37:00,977 [250] [DEBUG] [app] Ending request: urn:request:5e72605b-a360-4ee2-8724-41d0c309dded (/v2/testorg/alpine/manifests/sha256:d17c97e1ccf6490cb90fa17f6f021e404401d2656928631c73fd75ee711d87bd) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:5e72605b-a360-4ee2-8724-41d0c309dded', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/manifests/sha256:d17c97e1ccf6490cb90fa17f6f021e404401d2656928631c73fd75ee711d87bd', 'path': '/v2/testorg/alpine/manifests/sha256:d17c97e1ccf6490cb90fa17f6f021e404401d2656928631c73fd75ee711d87bd', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:3139e75da5d8de02f503007200b5d1b3f8770caefa8b6a4c79adcf94832b4cc2', 'size': 584}, 'layers': [{'mediaType': 'application/vnd.oci.image.layer.v1.tar+gzip', 'digest': 'sha256:a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39', 'size': 3513811}], 'annotations': {'com.docker.official-images.bashbrew.arch': 'riscv64', 'org.opencontainers.image.base.name': 'scratch', 'org.opencontainers.image.created': '2025-05-30T16:20:41Z', 'org.opencontainers.image.revision': '5213c5a71c73d39d5896657909e753effb1c05ff', 'org.opencontainers.image.source': 'https://github.com/alpinelinux/docker-alpine.git#5213c5a71c73d39d5896657909e753effb1c05ff:riscv64', 'org.opencontainers.image.url': 'https://hub.docker.com/_/alpine', 'org.opencontainers.image.version': '3.22.0'}}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:00,977 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:00,977 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:00 +0000] "PUT /v2/testorg/alpine/manifests/sha256:d17c97e1ccf6490cb90fa17f6f021e404401d2656928631c73fd75ee711d87bd HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.186 2845 0.186) gunicorn-registry stdout | 2025-09-26 08:37:00,978 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:00 +0000] "PUT /v2/testorg/alpine/manifests/sha256:d17c97e1ccf6490cb90fa17f6f021e404401d2656928631c73fd75ee711d87bd HTTP/1.1" 201 2 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:37:01,224 [257] [DEBUG] [app] Starting request: urn:request:41eaacba-1b2f-4332-8f5f-58d0bbaf7173 (/v2/testorg/alpine/blobs/sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:01,225 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:01,225 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:01,225 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:01,226 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:01,226 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:01,226 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:01,226 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:01,226 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:01,227 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,232 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,235 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:01,235 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6_2 gunicorn-registry stdout | 2025-09-26 08:37:01,236 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:01,237 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,241 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,244 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,248 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,252 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,257 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6_2: None gunicorn-registry stdout | 2025-09-26 08:37:01,257 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6_2: None gunicorn-registry stdout | 2025-09-26 08:37:01,257 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:01,257 [257] [DEBUG] [app] Ending request: urn:request:41eaacba-1b2f-4332-8f5f-58d0bbaf7173 (/v2/testorg/alpine/blobs/sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:41eaacba-1b2f-4332-8f5f-58d0bbaf7173', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6', 'path': '/v2/testorg/alpine/blobs/sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:01,257 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:01,258 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:01,258 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:01 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:01 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.035 1714 0.035) gunicorn-registry stdout | 2025-09-26 08:37:01,446 [256] [DEBUG] [app] Starting request: urn:request:56e1d37c-4041-4322-a399-5eb31aefb84b (/v2/testorg/alpine/blobs/sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:01,447 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:01,447 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:01,447 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:01,448 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:01,448 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:01,448 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:01,448 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:01,448 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:01,449 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,453 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,456 [256] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:01,456 [256] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6_2 gunicorn-registry stdout | 2025-09-26 08:37:01,457 [256] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:01,457 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,462 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,465 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,469 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,473 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,476 [256] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6_2: None gunicorn-registry stdout | 2025-09-26 08:37:01,476 [256] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6_2: None gunicorn-registry stdout | 2025-09-26 08:37:01,477 [256] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:01,477 [256] [DEBUG] [app] Ending request: urn:request:56e1d37c-4041-4322-a399-5eb31aefb84b (/v2/testorg/alpine/blobs/sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:56e1d37c-4041-4322-a399-5eb31aefb84b', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6', 'path': '/v2/testorg/alpine/blobs/sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:01,477 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:01,477 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:01,477 [256] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:01 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:01 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.032 1714 0.032) gunicorn-registry stdout | 2025-09-26 08:37:01,489 [256] [DEBUG] [app] Starting request: urn:request:aac7eb29-2cdd-418e-89d5-150811a4e5b9 (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:01,489 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:01,489 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:01,489 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:01,490 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:01,490 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:01,490 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:01,490 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:01,490 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:01,491 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,495 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,498 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,503 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,506 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,510 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,513 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:37:01,517 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,520 [256] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, '3f5fda7a-2579-4912-9c27-95163d3993f6', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 1, 520101)]) gunicorn-registry stdout | 2025-09-26 08:37:01,525 [256] [DEBUG] [app] Ending request: urn:request:aac7eb29-2cdd-418e-89d5-150811a4e5b9 (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:aac7eb29-2cdd-418e-89d5-150811a4e5b9', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:01,526 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:01,526 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:01,526 [256] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:01 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:01 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.038 1693 0.038) gunicorn-registry stdout | 2025-09-26 08:37:01,566 [254] [DEBUG] [app] Starting request: urn:request:801a6a6c-6471-4ab7-a78a-6694e79860c7 (/v2/testorg/alpine/blobs/uploads/3f5fda7a-2579-4912-9c27-95163d3993f6) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:01,566 [254] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '3f5fda7a-2579-4912-9c27-95163d3993f6', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:01,566 [254] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:01,566 [254] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:01,567 [254] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:01,567 [254] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:01,567 [254] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:01,567 [254] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:01,567 [254] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:01,569 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,573 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,576 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,580 [254] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,584 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,589 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,593 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,597 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:37:01,602 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['3f5fda7a-2579-4912-9c27-95163d3993f6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,605 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:01,605 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:01,605 [254] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:01,606 [254] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:01,607 [254] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:01,607 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,607 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,607 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,607 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,607 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,607 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,607 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,607 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,607 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:01,607 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:01,607 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:01,607 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:01,608 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,608 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,608 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,608 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:01,608 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,608 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,608 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,608 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,608 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:01,608 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083701Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:01,608 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083701Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 143385a1c694192aa393bde5cc2fb866aa074d31f4ced43b6406de947478ed62 gunicorn-registry stdout | 2025-09-26 08:37:01,608 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ae7084f05fdd971b0cd654c36308b5045a7dc3348aa2c778a8dc8db58a683e88 gunicorn-registry stdout | 2025-09-26 08:37:01,609 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,609 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:01,609 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:01,610 [254] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:37:01,641 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:01,641 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l91s5-dax148-2jq', 'x-amz-id-2': 'mg0l91s5-dax148-2jq', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:01 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:01,641 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e68d650add73ec60008f93468' gunicorn-registry stdout | 2025-09-26 08:37:01,642 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,642 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:01,642 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,642 [254] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l91s5-dax148-2jq', 'HostId': 'mg0l91s5-dax148-2jq', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l91s5-dax148-2jq', 'x-amz-id-2': 'mg0l91s5-dax148-2jq', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:01 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e', 'UploadId': '68d650add73ec60008f93468'} gunicorn-registry stdout | 2025-09-26 08:37:01,642 [254] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:01,643 [254] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:01,643 [254] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:01,643 [254] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e', 'UploadId': '68d650add73ec60008f93468', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc1b560>, 'ContentLength': 5718} gunicorn-registry stdout | 2025-09-26 08:37:01,643 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,643 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,643 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,643 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,643 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,643 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,643 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,643 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,643 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:01,643 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:01,643 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:01,644 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:01,644 [254] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,644 [254] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,644 [254] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:01,644 [254] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,644 [254] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,644 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e', 'query_string': {'uploadId': '68d650add73ec60008f93468', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '5718', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'prDilbiyOdPin9D9Np3cFw==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc1b560>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e?uploadId=68d650add73ec60008f93468&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e', 'UploadId': '68d650add73ec60008f93468', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc1b560>, 'ContentLength': 5718}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:01,644 [254] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,644 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,644 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,644 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,644 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:01,644 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e gunicorn-registry stdout | partNumber=1&uploadId=68d650add73ec60008f93468 gunicorn-registry stdout | content-length:5718 gunicorn-registry stdout | content-md5:prDilbiyOdPin9D9Np3cFw== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083701Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:01,644 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083701Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 2741f70668477ec8dabb537f83c99942951ebcc0df0799ce8be14e0011011313 gunicorn-registry stdout | 2025-09-26 08:37:01,645 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | eb737d578b4eaedea16071714ab5d89558dd6f339bfc27048d248ea4aa5bc6f0 gunicorn-registry stdout | 2025-09-26 08:37:01,645 [254] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,645 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:01,645 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:01,646 [254] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:01,646 [254] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:01,731 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e?uploadId=68d650add73ec60008f93468&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:01,731 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l91se-dgj2za-3pr', 'x-amz-id-2': 'mg0l91se-dgj2za-3pr', 'ETag': '"a6b0e295b8b239d3e29fd0fd369ddc17"', 'Date': 'Fri, 26 Sep 2025 08:37:01 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:01,731 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:01,731 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,731 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:01,732 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,732 [254] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l91se-dgj2za-3pr', 'HostId': 'mg0l91se-dgj2za-3pr', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l91se-dgj2za-3pr', 'x-amz-id-2': 'mg0l91se-dgj2za-3pr', 'etag': '"a6b0e295b8b239d3e29fd0fd369ddc17"', 'date': 'Fri, 26 Sep 2025 08:37:01 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"a6b0e295b8b239d3e29fd0fd369ddc17"'} gunicorn-registry stdout | 2025-09-26 08:37:01,732 [254] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e', 'UploadId': '68d650add73ec60008f93468', 'MultipartUpload': {'Parts': [{'ETag': '"a6b0e295b8b239d3e29fd0fd369ddc17"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:01,732 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,732 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,732 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,732 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,732 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,732 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,732 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,732 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:01,732 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:01,732 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:01,732 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:01,733 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,733 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,733 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,733 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e', 'query_string': {'uploadId': '68d650add73ec60008f93468'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"a6b0e295b8b239d3e29fd0fd369ddc17"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e?uploadId=68d650add73ec60008f93468', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e', 'UploadId': '68d650add73ec60008f93468', 'MultipartUpload': {'Parts': [{'ETag': '"a6b0e295b8b239d3e29fd0fd369ddc17"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:01,733 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,733 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,733 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,733 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,733 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:01,733 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e gunicorn-registry stdout | uploadId=68d650add73ec60008f93468 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:b27dbafe91d0f566cd7bc7f3410a4aa0f4ccb1efb446b0cf6efbc1e63fcbe33e gunicorn-registry stdout | x-amz-date:20250926T083701Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | b27dbafe91d0f566cd7bc7f3410a4aa0f4ccb1efb446b0cf6efbc1e63fcbe33e gunicorn-registry stdout | 2025-09-26 08:37:01,733 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083701Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 80e99e8d95b69026afd08d2c0355a9bcd86dd7c488b736578e39854fdedfc757 gunicorn-registry stdout | 2025-09-26 08:37:01,733 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 4c6c657a6396ab3ec4131f45e13937d1a2daec9624383eca37de8f4cc92036d6 gunicorn-registry stdout | 2025-09-26 08:37:01,733 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,733 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:01,734 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:01,751 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e?uploadId=68d650add73ec60008f93468 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:01,751 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l91uv-ex8rou-zqy', 'x-amz-id-2': 'mg0l91uv-ex8rou-zqy', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:01 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:01,751 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e"d50e2d0022ada080b3855c780826a429-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e?uploadId=68d650add73ec60008f93468' gunicorn-registry stdout | 2025-09-26 08:37:01,752 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,752 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,752 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:01,752 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,752 [254] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l91uv-ex8rou-zqy', 'HostId': 'mg0l91uv-ex8rou-zqy', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l91uv-ex8rou-zqy', 'x-amz-id-2': 'mg0l91uv-ex8rou-zqy', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:01 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e?uploadId=68d650add73ec60008f93468', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e', 'ETag': '"d50e2d0022ada080b3855c780826a429-1"'} gunicorn-registry stdout | 2025-09-26 08:37:01,752 [254] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:01,754 [254] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:01,754 [254] [DEBUG] [data.registry_model.blobuploader] Uploaded 5718 bytes to blob 3f5fda7a-2579-4912-9c27-95163d3993f6 took 0.14882349967956543 seconds gunicorn-registry stdout | 2025-09-26 08:37:01,755 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['3f5fda7a-2579-4912-9c27-95163d3993f6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,759 [254] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '3f5fda7a-2579-4912-9c27-95163d3993f6', 5718, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwdEB2MSNoZXJtZXRpYyI6dHJ1ZX19fTM4MTF9XV19fSwiaHR0cHM6Ly9tb2J5cHJvamVjdC5vcmcvYnVpbGRraRYAAAAAAAAAALIAAAAAAACtRi6QvoppTJ3wIGl2I+nQUUqQJdRCRi6GZxFb5YaLPJRiLg==', 9, '{"chunks": [["uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e", 0, 5718]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 1, 520101), None, None, 39]) gunicorn-registry stdout | 2025-09-26 08:37:01,763 [254] [DEBUG] [app] Ending request: urn:request:801a6a6c-6471-4ab7-a78a-6694e79860c7 (/v2/testorg/alpine/blobs/uploads/3f5fda7a-2579-4912-9c27-95163d3993f6) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:801a6a6c-6471-4ab7-a78a-6694e79860c7', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/3f5fda7a-2579-4912-9c27-95163d3993f6', 'path': '/v2/testorg/alpine/blobs/uploads/3f5fda7a-2579-4912-9c27-95163d3993f6', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:01,764 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:01,764 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:01,764 [254] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:01 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/3f5fda7a-2579-4912-9c27-95163d3993f6 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:01 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/3f5fda7a-2579-4912-9c27-95163d3993f6 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.200 7491 0.199) gunicorn-registry stdout | 2025-09-26 08:37:01,804 [255] [DEBUG] [app] Starting request: urn:request:03bcbd10-7d65-4fd2-9b96-e1ab69ec988f (/v2/testorg/alpine/blobs/uploads/3f5fda7a-2579-4912-9c27-95163d3993f6) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:01,804 [255] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '3f5fda7a-2579-4912-9c27-95163d3993f6', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:01,805 [255] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:01,805 [255] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:01,806 [255] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:01,806 [255] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:01,806 [255] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:01,806 [255] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:01,806 [255] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:01,807 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,813 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,817 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,822 [255] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,825 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,829 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,833 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,836 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:37:01,840 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['3f5fda7a-2579-4912-9c27-95163d3993f6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,844 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:01,844 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:01,844 [255] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:01,845 [255] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:01,846 [255] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a5d273d5-b8f2-47b2-91d2-ec6e71875a96', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:01,846 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,846 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,846 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,846 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,846 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,846 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,846 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,846 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,846 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:01,846 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:01,846 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:01,846 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:01,847 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,847 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,847 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,847 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/a5d273d5-b8f2-47b2-91d2-ec6e71875a96?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d273d5-b8f2-47b2-91d2-ec6e71875a96', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d273d5-b8f2-47b2-91d2-ec6e71875a96?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a5d273d5-b8f2-47b2-91d2-ec6e71875a96', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:01,847 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,847 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,847 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,847 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,847 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:01,847 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d273d5-b8f2-47b2-91d2-ec6e71875a96 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083701Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:01,847 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083701Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | d845420fbc9e75c149654247b18d974359c69bdd5cbb5965ed20dd7f9d4ca780 gunicorn-registry stdout | 2025-09-26 08:37:01,847 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | de5d42b3e3b253e1e97d37a27575245b6bf7c7c3cb32eb9aa9af19913907119d gunicorn-registry stdout | 2025-09-26 08:37:01,848 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,848 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:01,848 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:01,853 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d273d5-b8f2-47b2-91d2-ec6e71875a96?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:01,853 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l91y1-9silj-5az', 'x-amz-id-2': 'mg0l91y1-9silj-5az', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:01 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:01,853 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/a5d273d5-b8f2-47b2-91d2-ec6e71875a9668d650add73ec60008f93474' gunicorn-registry stdout | 2025-09-26 08:37:01,854 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,854 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:01,854 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,854 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l91y1-9silj-5az', 'HostId': 'mg0l91y1-9silj-5az', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l91y1-9silj-5az', 'x-amz-id-2': 'mg0l91y1-9silj-5az', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:01 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a5d273d5-b8f2-47b2-91d2-ec6e71875a96', 'UploadId': '68d650add73ec60008f93474'} gunicorn-registry stdout | 2025-09-26 08:37:01,854 [255] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:01,855 [255] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a5d273d5-b8f2-47b2-91d2-ec6e71875a96', 'UploadId': '68d650add73ec60008f93474'} gunicorn-registry stdout | 2025-09-26 08:37:01,855 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,855 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,855 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,855 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,855 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,855 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,856 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:01,856 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:01,856 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:01,856 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:01,856 [255] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,856 [255] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,856 [255] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,856 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/a5d273d5-b8f2-47b2-91d2-ec6e71875a96', 'query_string': {'uploadId': '68d650add73ec60008f93474'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d273d5-b8f2-47b2-91d2-ec6e71875a96', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d273d5-b8f2-47b2-91d2-ec6e71875a96?uploadId=68d650add73ec60008f93474', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a5d273d5-b8f2-47b2-91d2-ec6e71875a96', 'UploadId': '68d650add73ec60008f93474'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:01,856 [255] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,857 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,857 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,857 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,857 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:01,857 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d273d5-b8f2-47b2-91d2-ec6e71875a96 gunicorn-registry stdout | uploadId=68d650add73ec60008f93474 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083701Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:01,857 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083701Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 428fa4c8ef74f0bc1df11f93764e3ee1f2ee4fc083737a5ad1eba018192a7bba gunicorn-registry stdout | 2025-09-26 08:37:01,858 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ee90e60b2590f62d68969cce56f4182a7d481109bed213a6b46f79c2c6ca2ab3 gunicorn-registry stdout | 2025-09-26 08:37:01,858 [255] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,858 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:01,858 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:01,865 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a5d273d5-b8f2-47b2-91d2-ec6e71875a96?uploadId=68d650add73ec60008f93474 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:01,865 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l91yb-fwmzi-86z', 'x-amz-id-2': 'mg0l91yb-fwmzi-86z', 'Date': 'Fri, 26 Sep 2025 08:37:01 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:01,865 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:01,865 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,866 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:01,866 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,866 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l91yb-fwmzi-86z', 'HostId': 'mg0l91yb-fwmzi-86z', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l91yb-fwmzi-86z', 'x-amz-id-2': 'mg0l91yb-fwmzi-86z', 'date': 'Fri, 26 Sep 2025 08:37:01 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:01,866 [255] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 3f5fda7a-2579-4912-9c27-95163d3993f6 took 0.021839618682861328 seconds gunicorn-registry stdout | 2025-09-26 08:37:01,866 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['3f5fda7a-2579-4912-9c27-95163d3993f6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,871 [255] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '3f5fda7a-2579-4912-9c27-95163d3993f6', 5718, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwdEB2MSNoZXJtZXRpYyI6dHJ1ZX19fTM4MTF9XV19fSwiaHR0cHM6Ly9tb2J5cHJvamVjdC5vcmcvYnVpbGRraRYAAAAAAAAAALIAAAAAAACtRi6QvoppTJ3wIGl2I+nQUUqQJdRCRi6GZxFb5YaLPJRiLg==', 9, '{"chunks": [["uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e", 0, 5718]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 1, 520101), None, None, 39]) gunicorn-registry stdout | 2025-09-26 08:37:01,875 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:01,876 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:01,876 [255] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:01,877 [255] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:01,877 [255] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/a7/a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168'} gunicorn-registry stdout | 2025-09-26 08:37:01,877 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,877 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,877 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,877 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,877 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,878 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,878 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,878 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:01,878 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:01,878 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:01,878 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:01,878 [255] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,878 [255] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,878 [255] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,878 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/a7/a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a7/a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a7/a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/a7/a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:01,879 [255] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,879 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,879 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,879 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,880 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:01,880 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a7/a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083701Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:01,880 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083701Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | f17e1ad27574fe5e714a44c59bfea24bfc59f1e0b9eac50675778659ffa88ea2 gunicorn-registry stdout | 2025-09-26 08:37:01,880 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | e356a928a7ccebe799a2caa2c7015e75737c52cb7b0f6ca8bada561c8c08ed0d gunicorn-registry stdout | 2025-09-26 08:37:01,880 [255] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,880 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:01,880 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:01,885 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a7/a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:01,886 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l91yy-tcvdi-nv3', 'x-amz-id-2': 'mg0l91yy-tcvdi-nv3', 'Content-Type': 'application/xml', 'Content-Length': '337', 'Date': 'Fri, 26 Sep 2025 08:37:01 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:01,886 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:01,887 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,888 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:01,888 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,888 [255] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:01,888 [255] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:01,889 [255] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/a7/a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168 gunicorn-registry stdout | 2025-09-26 08:37:01,890 [255] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:01,890 [255] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:01,890 [255] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:01,891 [255] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:01,891 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,891 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,891 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,891 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,891 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,892 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,892 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,892 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:01,892 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:01,892 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:01,892 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:01,893 [255] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,893 [255] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,893 [255] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,893 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:01,894 [255] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,894 [255] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,894 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,894 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,894 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,895 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:01,895 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083701Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:01,896 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083701Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ada88f46a6c3928057dbbde9b5c416738037c02e87510de945bd048ee9fc8384 gunicorn-registry stdout | 2025-09-26 08:37:01,896 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | d1ce3cb687004b1e59e118794e42cb74890fcfc378f9fecaad194079ec86bc0e gunicorn-registry stdout | 2025-09-26 08:37:01,896 [255] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,896 [255] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,896 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:01,897 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:01,898 [255] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:37:01,925 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:01,925 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9201-1gvx2q-1496', 'x-amz-id-2': 'mg0l9201-1gvx2q-1496', 'ETag': '"d50e2d0022ada080b3855c780826a429-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:01 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '5718', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:01 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:01,925 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:01,926 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,926 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:01,926 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,927 [255] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a7/a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:01,927 [255] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:01,927 [255] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a7/a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:01,927 [255] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a7/a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:01,928 [255] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a7/a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a7/a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168', 'extra_args': {}, 'callbacks': [], 'size': 5718} gunicorn-registry stdout | 2025-09-26 08:37:01,928 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,928 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,928 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,928 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,928 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,928 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,928 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,928 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,929 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,929 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,929 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:01,929 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:01,930 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:01,930 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:01,931 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,931 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,931 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,931 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/a7/a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a7/a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a7/a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/a7/a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:01,931 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,931 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,932 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,932 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,932 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,932 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:01,932 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a7/a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d3bb65d1-70f2-47e2-b90a-adbf53ff299e gunicorn-registry stdout | x-amz-date:20250926T083701Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:01,932 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083701Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 58974c7c780f5ca2a2084c442a0ac5c0109659102a7771e8d348d8eb993cd352 gunicorn-registry stdout | 2025-09-26 08:37:01,932 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 295d6c3c3bebf59fef3c61121ce270ab6736f47212cbd253bfa1d54d168b29b6 gunicorn-registry stdout | 2025-09-26 08:37:01,932 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,933 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,933 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:01,933 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:01,934 [255] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:01,959 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a7/a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:01,960 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l920f-1p4311-1de8', 'x-amz-id-2': 'mg0l920f-1p4311-1de8', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:01 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:01,960 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:01.000Z"d50e2d0022ada080b3855c780826a429-1"' gunicorn-registry stdout | 2025-09-26 08:37:01,960 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,960 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:01,960 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:01,961 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:01,961 [255] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:01,961 [255] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 3f5fda7a-2579-4912-9c27-95163d3993f6 with digest sha256:a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168 took 0.07317686080932617 seconds gunicorn-registry stdout | 2025-09-26 08:37:01,962 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['3f5fda7a-2579-4912-9c27-95163d3993f6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,966 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,967 [255] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['140705f6-992b-4420-b5df-499b5992a968', 5718, None, True, True, 'sha256:a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168']) gunicorn-registry stdout | 2025-09-26 08:37:01,969 [255] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [41, 9]) gunicorn-registry stdout | 2025-09-26 08:37:01,971 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:01,973 [255] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 41, datetime.datetime(2025, 9, 26, 8, 37, 1, 973093), datetime.datetime(2025, 9, 26, 9, 37, 1, 973074)]) gunicorn-registry stdout | 2025-09-26 08:37:01,974 [255] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [39]) gunicorn-registry stdout | 2025-09-26 08:37:01,978 [255] [DEBUG] [app] Ending request: urn:request:03bcbd10-7d65-4fd2-9b96-e1ab69ec988f (/v2/testorg/alpine/blobs/uploads/3f5fda7a-2579-4912-9c27-95163d3993f6) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:03bcbd10-7d65-4fd2-9b96-e1ab69ec988f', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/3f5fda7a-2579-4912-9c27-95163d3993f6?digest=sha256:a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168', 'path': '/v2/testorg/alpine/blobs/uploads/3f5fda7a-2579-4912-9c27-95163d3993f6', 'parameters': {'digest': 'sha256:a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:01,978 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:01,978 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:01,979 [255] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:01 +0000] "PUT /v2/testorg/alpine/blobs/uploads/3f5fda7a-2579-4912-9c27-95163d3993f6?digest=sha256%3Aa7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:01 +0000] "PUT /v2/testorg/alpine/blobs/uploads/3f5fda7a-2579-4912-9c27-95163d3993f6?digest=sha256%3Aa7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.176 1849 0.176) gunicorn-registry stdout | 2025-09-26 08:37:02,195 [257] [DEBUG] [app] Starting request: urn:request:97e623a5-d218-4bc4-b733-2cdd7ad2b7a5 (/v2/testorg/alpine/blobs/sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:02,196 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:02,196 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:02,196 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:02,197 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:02,197 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:02,197 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:02,197 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:02,197 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:02,198 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,202 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,205 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:02,205 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d_2 gunicorn-registry stdout | 2025-09-26 08:37:02,205 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:02,207 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,211 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,215 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,219 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,223 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,226 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d_2: None gunicorn-registry stdout | 2025-09-26 08:37:02,226 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d_2: None gunicorn-registry stdout | 2025-09-26 08:37:02,226 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:02,227 [257] [DEBUG] [app] Ending request: urn:request:97e623a5-d218-4bc4-b733-2cdd7ad2b7a5 (/v2/testorg/alpine/blobs/sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:97e623a5-d218-4bc4-b733-2cdd7ad2b7a5', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 'path': '/v2/testorg/alpine/blobs/sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:02,227 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:02,227 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:02 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.033 1714 0.033) gunicorn-registry stdout | 2025-09-26 08:37:02,227 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:02 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d HTTP/1.1" 404 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:37:02,535 [250] [DEBUG] [app] Starting request: urn:request:170d7bbc-5414-4aac-9146-0c393c489c5f (/v2/testorg/alpine/blobs/uploads/8b97cf23-05a2-4235-a0b6-487d5c18aecd) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:02,535 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '8b97cf23-05a2-4235-a0b6-487d5c18aecd', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:02,535 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:02,535 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:02,536 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:02,536 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:02,536 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:02,536 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:02,536 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:02,537 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,542 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,546 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,550 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,554 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,557 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,560 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,564 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:37:02,568 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['8b97cf23-05a2-4235-a0b6-487d5c18aecd', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,571 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:02,571 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:02,571 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:02,572 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:02,572 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7debfecf-0270-485c-950a-36cb837b7ecc', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:02,572 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,572 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,572 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,572 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,572 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,572 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,572 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,572 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,573 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:02,573 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:02,573 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:02,573 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:02,573 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,573 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,573 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,573 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/7debfecf-0270-485c-950a-36cb837b7ecc?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7debfecf-0270-485c-950a-36cb837b7ecc', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7debfecf-0270-485c-950a-36cb837b7ecc?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7debfecf-0270-485c-950a-36cb837b7ecc', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:02,573 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,573 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,573 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,573 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,574 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:02,574 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7debfecf-0270-485c-950a-36cb837b7ecc gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083702Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:02,574 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083702Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | b9c3ed8f921ee5130547e6fc9a6c442415a5b07d35e1409c21cfc95d453e911a gunicorn-registry stdout | 2025-09-26 08:37:02,574 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | d443597fc78ccd63319e3c15f930b6a8b4530f6d72e334993ed7eb8001fedcbb gunicorn-registry stdout | 2025-09-26 08:37:02,574 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,574 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:02,574 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:02,580 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7debfecf-0270-485c-950a-36cb837b7ecc?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:02,580 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l92i8-cags6r-3ug', 'x-amz-id-2': 'mg0l92i8-cags6r-3ug', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:02 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:02,580 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/7debfecf-0270-485c-950a-36cb837b7ecc68d650aed73ec60008f9347f' gunicorn-registry stdout | 2025-09-26 08:37:02,580 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,580 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:02,580 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,580 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l92i8-cags6r-3ug', 'HostId': 'mg0l92i8-cags6r-3ug', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l92i8-cags6r-3ug', 'x-amz-id-2': 'mg0l92i8-cags6r-3ug', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:02 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7debfecf-0270-485c-950a-36cb837b7ecc', 'UploadId': '68d650aed73ec60008f9347f'} gunicorn-registry stdout | 2025-09-26 08:37:02,580 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:02,581 [250] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7debfecf-0270-485c-950a-36cb837b7ecc', 'UploadId': '68d650aed73ec60008f9347f'} gunicorn-registry stdout | 2025-09-26 08:37:02,581 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,581 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,581 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,581 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,581 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,581 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,581 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:02,581 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:02,581 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:02,581 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:02,582 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,582 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,582 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,582 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/7debfecf-0270-485c-950a-36cb837b7ecc', 'query_string': {'uploadId': '68d650aed73ec60008f9347f'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7debfecf-0270-485c-950a-36cb837b7ecc', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7debfecf-0270-485c-950a-36cb837b7ecc?uploadId=68d650aed73ec60008f9347f', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7debfecf-0270-485c-950a-36cb837b7ecc', 'UploadId': '68d650aed73ec60008f9347f'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:02,582 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,582 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,582 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,582 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,582 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:02,582 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7debfecf-0270-485c-950a-36cb837b7ecc gunicorn-registry stdout | uploadId=68d650aed73ec60008f9347f gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083702Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:02,582 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083702Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 87acddf7c60c1535d43a71f5472327046d8c5f6c909c32c14949e7038ec28881 gunicorn-registry stdout | 2025-09-26 08:37:02,582 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b0584cd970e1bb852132e382d6cd9d340ae565752e3c5685b77480c146510075 gunicorn-registry stdout | 2025-09-26 08:37:02,582 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,582 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:02,583 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:02,590 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7debfecf-0270-485c-950a-36cb837b7ecc?uploadId=68d650aed73ec60008f9347f HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:02,590 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l92if-cf3znm-1bpm', 'x-amz-id-2': 'mg0l92if-cf3znm-1bpm', 'Date': 'Fri, 26 Sep 2025 08:37:02 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:02,590 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:02,590 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,590 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:02,590 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,590 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l92if-cf3znm-1bpm', 'HostId': 'mg0l92if-cf3znm-1bpm', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l92if-cf3znm-1bpm', 'x-amz-id-2': 'mg0l92if-cf3znm-1bpm', 'date': 'Fri, 26 Sep 2025 08:37:02 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:02,590 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 8b97cf23-05a2-4235-a0b6-487d5c18aecd took 0.019151687622070312 seconds gunicorn-registry stdout | 2025-09-26 08:37:02,591 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['8b97cf23-05a2-4235-a0b6-487d5c18aecd', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,595 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '8b97cf23-05a2-4235-a0b6-487d5c18aecd', 241, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwYTUyMjBiOWI3ZmFiMWUwMzEyMmU3NmM0OWU3OTQ2MDkzNTRkMWY3YTlhMTY4Il19fWU4ZDZjZTA1Y2ZmODhjNTEAAAAAAAAAAAYAAAAAAABfrmInVyDke4yUvNJQASYdPfNjrcUqP8CVwkLejX1BJZRiLg==', 9, '{"chunks": [["uploads/f920e3db-7347-4c22-8eac-1c7a07a09a92", 0, 241]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 2, 278391), None, None, 41]) gunicorn-registry stdout | 2025-09-26 08:37:02,600 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:02,600 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:02,600 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:02,601 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:02,601 [250] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d'} gunicorn-registry stdout | 2025-09-26 08:37:02,601 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,601 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,601 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,601 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,601 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,601 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,601 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,602 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:02,602 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:02,602 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:02,602 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:02,602 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,602 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,602 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,602 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:02,602 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,602 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,602 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,602 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,602 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:02,603 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083702Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:02,603 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083702Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | c3855384aadebbaffa43d0fb06091a52bb89dc43b91d24bc9524add117cf5caf gunicorn-registry stdout | 2025-09-26 08:37:02,603 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b8e2e9a60e8c9875988ca33667019aa82a50106f395053a95dd4a6cc600c914d gunicorn-registry stdout | 2025-09-26 08:37:02,603 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,603 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:02,603 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:02,609 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:02,609 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l92j0-crakfj-15yy', 'x-amz-id-2': 'mg0l92j0-crakfj-15yy', 'Content-Type': 'application/xml', 'Content-Length': '339', 'Date': 'Fri, 26 Sep 2025 08:37:02 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:02,609 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:02,609 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,609 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:02,609 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,609 [250] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:02,609 [250] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:02,609 [250] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d gunicorn-registry stdout | 2025-09-26 08:37:02,610 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:02,610 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:02,610 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:02,610 [250] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:02,610 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,610 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,610 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,610 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,610 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,610 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,610 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,611 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:02,611 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:02,611 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:02,612 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:02,612 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,612 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,612 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,612 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/f920e3db-7347-4c22-8eac-1c7a07a09a92', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f920e3db-7347-4c22-8eac-1c7a07a09a92', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f920e3db-7347-4c22-8eac-1c7a07a09a92', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/f920e3db-7347-4c22-8eac-1c7a07a09a92'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:02,612 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,612 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,612 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,612 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,612 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,612 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:02,612 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f920e3db-7347-4c22-8eac-1c7a07a09a92 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083702Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:02,612 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083702Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 52d05da58d31eea6f9cf7fd5271d0f465e3689c5f375221812223382e42b2eab gunicorn-registry stdout | 2025-09-26 08:37:02,612 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 5d5477f40f189c09818448c5e73e2eda4415149e48caeb40bd16afe38b89b01a gunicorn-registry stdout | 2025-09-26 08:37:02,612 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,612 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,613 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:02,613 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:02,617 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f920e3db-7347-4c22-8eac-1c7a07a09a92 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:02,617 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l92ja-cx2vvh-msb', 'x-amz-id-2': 'mg0l92ja-cx2vvh-msb', 'ETag': '"84640d82a0cfebe3cecb2a047dce8a32-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:02 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:02 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:02,617 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:02,617 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,618 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:02,618 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,618 [250] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:02,618 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:02,618 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:02,618 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:02,618 [250] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/f920e3db-7347-4c22-8eac-1c7a07a09a92'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 'extra_args': {}, 'callbacks': [], 'size': 241} gunicorn-registry stdout | 2025-09-26 08:37:02,618 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,618 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,618 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,618 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,618 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,618 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,618 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,618 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,618 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,618 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,619 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:02,619 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:02,619 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:02,619 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:02,619 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,619 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,619 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,619 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f920e3db-7347-4c22-8eac-1c7a07a09a92', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f920e3db-7347-4c22-8eac-1c7a07a09a92', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:02,619 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,619 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,619 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,619 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,619 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,619 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:02,619 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/f920e3db-7347-4c22-8eac-1c7a07a09a92 gunicorn-registry stdout | x-amz-date:20250926T083702Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:02,619 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083702Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 450b21853da524481c2a6902b3e99adb588d9c83cd7cd7aa74005409032e00fc gunicorn-registry stdout | 2025-09-26 08:37:02,619 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | e4c0e646c6ce0d416e14cb6e70f48d62c20d1d942ab05133efc22a92129249a9 gunicorn-registry stdout | 2025-09-26 08:37:02,620 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,620 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,620 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:02,620 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:02,621 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-web stdout | 2025-09-26 08:37:02,639 [241] [DEBUG] [app] Starting request: urn:request:64fc2245-c6c6-4d96-a13c-f8028db5b34d (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:37:02,641 [241] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:37:02,646 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:02,647 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l92jh-d1ln6p-liq', 'x-amz-id-2': 'mg0l92jh-d1ln6p-liq', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:02 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:02,647 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:02.000Z"84640d82a0cfebe3cecb2a047dce8a32-1"' gunicorn-registry stdout | 2025-09-26 08:37:02,647 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,647 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,647 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:02,647 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,647 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:02,648 [250] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 8b97cf23-05a2-4235-a0b6-487d5c18aecd with digest sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d took 0.03876471519470215 seconds gunicorn-registry stdout | 2025-09-26 08:37:02,649 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['8b97cf23-05a2-4235-a0b6-487d5c18aecd', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,651 [254] [DEBUG] [app] Starting request: urn:request:8386ee05-5544-4919-819a-594d20aa0cf5 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:37:02,652 [254] [DEBUG] [app] Ending request: urn:request:8386ee05-5544-4919-819a-594d20aa0cf5 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:8386ee05-5544-4919-819a-594d20aa0cf5', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:37:02,652 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,652 [254] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:37:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:37:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:37:02,652 [241] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:37:02,653 [241] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:37:02,654 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['379a12ca-bb57-4df0-a868-be3e0a060579', 241, None, True, True, 'sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d']) gunicorn-web stdout | 2025-09-26 08:37:02,655 [242] [DEBUG] [app] Starting request: urn:request:ad986eb2-d419-4b96-a84b-5871a32a01a5 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:37:02,655 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [42, 9]) gunicorn-web stdout | 2025-09-26 08:37:02,656 [242] [DEBUG] [app] Ending request: urn:request:ad986eb2-d419-4b96-a84b-5871a32a01a5 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:ad986eb2-d419-4b96-a84b-5871a32a01a5', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:37:02,656 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:37:02 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:37:02,656 [241] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:37:02 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:37:02,656 [241] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:37:02,657 [241] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:37:02,657 [241] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-registry stdout | 2025-09-26 08:37:02,658 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,660 [250] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 42, datetime.datetime(2025, 9, 26, 8, 37, 2, 659825), datetime.datetime(2025, 9, 26, 9, 37, 2, 659809)]) gunicorn-registry stdout | 2025-09-26 08:37:02,661 [250] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [41]) gunicorn-registry stdout | 2025-09-26 08:37:02,665 [250] [DEBUG] [app] Ending request: urn:request:170d7bbc-5414-4aac-9146-0c393c489c5f (/v2/testorg/alpine/blobs/uploads/8b97cf23-05a2-4235-a0b6-487d5c18aecd) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:170d7bbc-5414-4aac-9146-0c393c489c5f', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/8b97cf23-05a2-4235-a0b6-487d5c18aecd?digest=sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 'path': '/v2/testorg/alpine/blobs/uploads/8b97cf23-05a2-4235-a0b6-487d5c18aecd', 'parameters': {'digest': 'sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-web stdout | 2025-09-26 08:37:02,665 [241] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:37:02,665 [241] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-registry stdout | 2025-09-26 08:37:02,665 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:02,665 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:02,666 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:02 +0000] "PUT /v2/testorg/alpine/blobs/uploads/8b97cf23-05a2-4235-a0b6-487d5c18aecd?digest=sha256%3Ac26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:02 +0000] "PUT /v2/testorg/alpine/blobs/uploads/8b97cf23-05a2-4235-a0b6-487d5c18aecd?digest=sha256%3Ac26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.132 1849 0.132) gunicorn-web stdout | 2025-09-26 08:37:02,676 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:37:02,679 [241] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:37:02,682 [241] [DEBUG] [app] Ending request: urn:request:64fc2245-c6c6-4d96-a13c-f8028db5b34d (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:64fc2245-c6c6-4d96-a13c-f8028db5b34d', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:37:02,682 [241] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:37:02,683 [241] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:37:02 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:37:02 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.045 118 0.045) gunicorn-registry stdout | 2025-09-26 08:37:02,719 [250] [DEBUG] [app] Starting request: urn:request:e9c15f88-0063-46ad-aaed-fe003339c759 (/v2/testorg/alpine/manifests/sha256:6c177c7cb8fd7f03ea99c3fa679e1160487ad19131b174fbdbd5658f222e53ef) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:02,719 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:6c177c7cb8fd7f03ea99c3fa679e1160487ad19131b174fbdbd5658f222e53ef', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:02,720 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:02,720 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:02,720 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:02,721 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:02,721 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:02,721 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:02,721 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:02,722 [250] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:37:02,722 [250] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:37:02,723 [250] [DEBUG] [data.cache.impl] Found result in cache for key repository_lookup_testorg_alpine: {'id': 2, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': 0, 'namespace_user': {'stripe_id': None}} gunicorn-registry stdout | 2025-09-26 08:37:02,724 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:6c177c7cb8fd7f03ea99c3fa679e1160487ad19131b174fbdbd5658f222e53ef', 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:02,728 [242] [DEBUG] [app] Starting request: urn:request:7783194a-3565-4976-a6cd-3fe57e4169c3 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:37:02,728 [250] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL ((SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1") UNION ALL (SELECT * FROM (SELECT "t5"."id", "t5"."content_checksum", "t5"."image_size", "t5"."uuid", "t5"."cas_path", "t5"."uncompressed_size" FROM "imagestorage" AS "t5" INNER JOIN "uploadedblob" AS "t6" ON ("t6"."blob_id" = "t5"."id") WHERE (("t6"."repository_id" = %s) AND ("t5"."content_checksum" = %s)) LIMIT %s) AS "q2"))', [2, 'sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 1, 2, 'sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6', 1, 2, 'sha256:a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168', 1]) gunicorn-web stdout | 2025-09-26 08:37:02,729 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:37:02,731 [257] [DEBUG] [app] Starting request: urn:request:2b2cd524-7ebe-4897-a514-3c0a052eb481 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:37:02,731 [257] [DEBUG] [app] Ending request: urn:request:2b2cd524-7ebe-4897-a514-3c0a052eb481 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:2b2cd524-7ebe-4897-a514-3c0a052eb481', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:37:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-registry stdout | 2025-09-26 08:37:02,731 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:37:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:37:02,732 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:37:02,732 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:37:02,733 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:6c177c7cb8fd7f03ea99c3fa679e1160487ad19131b174fbdbd5658f222e53ef', 2, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:02,734 [242] [DEBUG] [app] Starting request: urn:request:255694b2-9d77-49ea-acdb-49c600c83284 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:37:02,734 [242] [DEBUG] [app] Ending request: urn:request:255694b2-9d77-49ea-acdb-49c600c83284 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:255694b2-9d77-49ea-acdb-49c600c83284', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:37:02,734 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:37:02 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:37:02 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:37:02,735 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:37:02,735 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:37:02,735 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:37:02,735 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-registry stdout | 2025-09-26 08:37:02,738 [250] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [2, 'sha256:6c177c7cb8fd7f03ea99c3fa679e1160487ad19131b174fbdbd5658f222e53ef', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d",\n "size": 241\n },\n "layers": [\n {\n "mediaType": "application/vnd.in-toto+json",\n "digest": "sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6",\n "size": 79035,\n "annotations": {\n "in-toto.io/predicate-type": "https://spdx.dev/Document"\n }\n },\n {\n "mediaType": "application/vnd.in-toto+json",\n "digest": "sha256:a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168",\n "size": 5718,\n "annotations": {\n "in-toto.io/predicate-type": "https://slsa.dev/provenance/v0.2"\n }\n }\n ]\n}', 'application/vnd.oci.image.config.v1+json', 84753, None, True, None, True]) gunicorn-registry stdout | 2025-09-26 08:37:02,741 [250] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [2, 15, 40, 2, 15, 41, 2, 15, 42]) gunicorn-registry stdout | 2025-09-26 08:37:02,742 [250] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:02,743 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:37:02,743 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-registry stdout | 2025-09-26 08:37:02,744 [250] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [3, 1]) gunicorn-registry stdout | 2025-09-26 08:37:02,745 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 42, 15, 1]) gunicorn-registry stdout | 2025-09-26 08:37:02,747 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 40, 15, 1]) gunicorn-registry stdout | 2025-09-26 08:37:02,748 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 41, 15, 1]) gunicorn-registry stdout | 2025-09-26 08:37:02,750 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,751 [250] [INFO] [data.model.quota] updating namespace size for manifest 15 in namespace 3, QuotaOperation.ADD 84994 gunicorn-registry stdout | 2025-09-26 08:37:02,751 [250] [DEBUG] [peewee] ('UPDATE "quotanamespacesize" SET "size_bytes" = ("quotanamespacesize"."size_bytes" + %s) WHERE ("quotanamespacesize"."namespace_user_id" = %s)', [84994, 3]) gunicorn-web stdout | 2025-09-26 08:37:02,752 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-registry stdout | 2025-09-26 08:37:02,752 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,754 [250] [INFO] [data.model.quota] updating repository size for manifest 15 in repository 2, QuotaOperation.ADD 84994 gunicorn-registry stdout | 2025-09-26 08:37:02,754 [250] [DEBUG] [peewee] ('UPDATE "quotarepositorysize" SET "size_bytes" = ("quotarepositorysize"."size_bytes" + %s) WHERE ("quotarepositorysize"."repository_id" = %s)', [84994, 2]) gunicorn-web stdout | 2025-09-26 08:37:02,755 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-registry stdout | 2025-09-26 08:37:02,755 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [15, None, 1758879422755, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,757 [250] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-2e248e2d-422c-40fc-9387-11524a00934d', 2, 15, 1758875822755, 1758879422755, False, True, False, 1]) gunicorn-web stdout | 2025-09-26 08:37:02,758 [242] [DEBUG] [app] Ending request: urn:request:7783194a-3565-4976-a6cd-3fe57e4169c3 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:7783194a-3565-4976-a6cd-3fe57e4169c3', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:37:02,758 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:37:02,759 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:37:02 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:37:02 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.032 118 0.032) gunicorn-registry stdout | 2025-09-26 08:37:02,761 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:02,764 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['379a12ca-bb57-4df0-a868-be3e0a060579']) gunicorn-registry stdout | 2025-09-26 08:37:02,768 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:02,769 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:02,769 [250] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d'} gunicorn-registry stdout | 2025-09-26 08:37:02,769 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,769 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,769 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,769 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,769 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,770 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,770 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,770 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:02,770 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:02,770 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:02,770 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:02,770 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,770 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,770 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,770 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:02,770 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,770 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,770 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,770 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,771 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:02,771 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083702Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:02,771 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083702Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 6a4d5e404ac01f8878203a0580ec1fde615c99c4d5a4e752b106e037991ca3c5 gunicorn-registry stdout | 2025-09-26 08:37:02,771 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 3ea91d4be1c44d11cbfc8604f33ca05da8a35b7355b89e99a6fee3147002dc52 gunicorn-registry stdout | 2025-09-26 08:37:02,771 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,771 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:02,771 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:02,798 [257] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '257'} gunicorn-registry stdout | 2025-09-26 08:37:02,803 [252] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '252'} gunicorn-registry stdout | 2025-09-26 08:37:02,813 [254] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '254'} gunicorn-registry stdout | 2025-09-26 08:37:02,821 [59] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '59'} gunicorn-registry stdout | 2025-09-26 08:37:02,832 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/c2/c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d HTTP/1.1" 200 241 gunicorn-registry stdout | 2025-09-26 08:37:02,832 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l92no-fjjyki-c1s', 'x-amz-id-2': 'mg0l92no-fjjyki-c1s', 'ETag': '"84640d82a0cfebe3cecb2a047dce8a32-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:02 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:02 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:02,832 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:02,833 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:02,833 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:02,833 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:02,833 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l92no-fjjyki-c1s', 'HostId': 'mg0l92no-fjjyki-c1s', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l92no-fjjyki-c1s', 'x-amz-id-2': 'mg0l92no-fjjyki-c1s', 'etag': '"84640d82a0cfebe3cecb2a047dce8a32-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:02 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:02 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 2, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"84640d82a0cfebe3cecb2a047dce8a32-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:02,835 [250] [DEBUG] [app] Ending request: urn:request:e9c15f88-0063-46ad-aaed-fe003339c759 (/v2/testorg/alpine/manifests/sha256:6c177c7cb8fd7f03ea99c3fa679e1160487ad19131b174fbdbd5658f222e53ef) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:e9c15f88-0063-46ad-aaed-fe003339c759', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/manifests/sha256:6c177c7cb8fd7f03ea99c3fa679e1160487ad19131b174fbdbd5658f222e53ef', 'path': '/v2/testorg/alpine/manifests/sha256:6c177c7cb8fd7f03ea99c3fa679e1160487ad19131b174fbdbd5658f222e53ef', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:c26023b0d841656913ab6cac3f47943f150dd7e9a307d1300fda95eb157c962d', 'size': 241}, 'layers': [{'mediaType': 'application/vnd.in-toto+json', 'digest': 'sha256:67fddcb95396e53298f4ac7df9a3d3b39dd0e8e18e97231294f852ec23e112c6', 'size': 79035, 'annotations': {'in-toto.io/predicate-type': 'https://spdx.dev/Document'}}, {'mediaType': 'application/vnd.in-toto+json', 'digest': 'sha256:a7e0e8d6ce05cff88c5a5220b9b7fab1e03122e76c49e794609354d1f7a9a168', 'size': 5718, 'annotations': {'in-toto.io/predicate-type': 'https://slsa.dev/provenance/v0.2'}}]}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:02,836 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:02,836 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:02,836 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:02 +0000] "PUT /v2/testorg/alpine/manifests/sha256:6c177c7cb8fd7f03ea99c3fa679e1160487ad19131b174fbdbd5658f222e53ef HTTP/1.1" 201 2 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:02 +0000] "PUT /v2/testorg/alpine/manifests/sha256:6c177c7cb8fd7f03ea99c3fa679e1160487ad19131b174fbdbd5658f222e53ef HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.118 2657 0.118) gunicorn-registry stdout | 2025-09-26 08:37:02,876 [253] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '253'} gunicorn-registry stdout | 2025-09-26 08:37:02,887 [255] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '255'} gunicorn-registry stdout | 2025-09-26 08:37:02,906 [251] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '251'} gunicorn-registry stdout | 2025-09-26 08:37:02,910 [256] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '256'} gunicorn-registry stdout | 2025-09-26 08:37:02,915 [250] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '250'} gunicorn-registry stdout | 2025-09-26 08:37:03,037 [257] [DEBUG] [app] Starting request: urn:request:706f9348-b0f1-4759-882a-5f5650fac64e (/v2/testorg/alpine/blobs/sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:03,037 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:03,038 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:03,038 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:03,039 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:03,039 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:03,039 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:03,039 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:03,039 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:03,040 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,044 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,048 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:03,048 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1_2 gunicorn-registry stdout | 2025-09-26 08:37:03,048 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:03,049 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,053 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,057 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,061 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,065 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,069 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1_2: None gunicorn-registry stdout | 2025-09-26 08:37:03,069 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1_2: None gunicorn-registry stdout | 2025-09-26 08:37:03,069 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:03,069 [257] [DEBUG] [app] Ending request: urn:request:706f9348-b0f1-4759-882a-5f5650fac64e (/v2/testorg/alpine/blobs/sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:706f9348-b0f1-4759-882a-5f5650fac64e', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1', 'path': '/v2/testorg/alpine/blobs/sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:03,069 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:03,069 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:03 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.034 1714 0.034) gunicorn-registry stdout | 2025-09-26 08:37:03,070 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:03 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:37:03,365 [256] [DEBUG] [app] Starting request: urn:request:39bd9c2c-5de5-433b-a6a8-c8a4ca9a6796 (/v2/testorg/alpine/blobs/sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:03,365 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:03,365 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:03,365 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:03,366 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:03,366 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:03,366 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:03,366 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:03,366 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:03,368 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,372 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,376 [256] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:03,376 [256] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1_2 gunicorn-registry stdout | 2025-09-26 08:37:03,376 [256] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:03,377 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,381 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,385 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,389 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,393 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,397 [256] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1_2: None gunicorn-registry stdout | 2025-09-26 08:37:03,397 [256] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1_2: None gunicorn-registry stdout | 2025-09-26 08:37:03,397 [256] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:03,397 [256] [DEBUG] [app] Ending request: urn:request:39bd9c2c-5de5-433b-a6a8-c8a4ca9a6796 (/v2/testorg/alpine/blobs/sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:39bd9c2c-5de5-433b-a6a8-c8a4ca9a6796', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1', 'path': '/v2/testorg/alpine/blobs/sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:03,397 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:03,397 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:03,398 [256] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:03 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:03 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.033 1714 0.034) gunicorn-registry stdout | 2025-09-26 08:37:03,437 [253] [DEBUG] [app] Starting request: urn:request:13a9bd95-8474-4912-9c8c-d4681fa70a4e (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:03,437 [253] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:03,437 [253] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:03,437 [253] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:03,440 [253] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:03,441 [253] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:03,441 [253] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:03,441 [253] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:03,441 [253] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:03,442 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,446 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,450 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,454 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,458 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,462 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,466 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:37:03,470 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,473 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "imagestoragelocation" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:37:03,477 [253] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, 'fe87e47f-899f-4d8b-bedb-79557b17ed53', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 3, 477273)]) gunicorn-registry stdout | 2025-09-26 08:37:03,483 [253] [DEBUG] [app] Ending request: urn:request:13a9bd95-8474-4912-9c8c-d4681fa70a4e (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:13a9bd95-8474-4912-9c8c-d4681fa70a4e', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:03,483 [253] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:03,483 [253] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:03,483 [253] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:03 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:03 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.047 1693 0.047) gunicorn-registry stdout | 2025-09-26 08:37:03,523 [250] [DEBUG] [app] Starting request: urn:request:6dc3beb1-6598-4051-901d-b7e77298fd3d (/v2/testorg/alpine/blobs/uploads/fe87e47f-899f-4d8b-bedb-79557b17ed53) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:03,523 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'fe87e47f-899f-4d8b-bedb-79557b17ed53', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:03,523 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:03,523 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:03,524 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:03,524 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:03,524 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:03,524 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:03,524 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:03,525 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,530 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,533 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,538 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,541 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:37:03,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gunicorn-registry stdout | 2025-09-26 08:37:03,546 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:37:03,546 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:13.545186+00:00 (in 9.998977 seconds) proxycacheblobworker stdout | 2025-09-26 08:37:03,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:13 GMT)" (scheduled at 2025-09-26 08:37:03.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:37:03,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:37:03,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 37, 3, 546596), True, datetime.datetime(2025, 9, 26, 8, 37, 3, 546596), 0, 'proxycacheblob/%', 50, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,549 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:03,553 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:37:03,557 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['fe87e47f-899f-4d8b-bedb-79557b17ed53', 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:37:03,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:37:03,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:37:03,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:13 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:37:03,561 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:03,561 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:03,562 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:03,566 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:03,567 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:03,567 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,567 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,567 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,567 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,567 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:03,567 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,568 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,568 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:03,568 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:03,568 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:03,568 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:03,568 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:03,568 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,568 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,568 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,568 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:03,568 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:03,569 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:03,569 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,569 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,569 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:03,569 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083703Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:03,569 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083703Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 34522b09133b672e9eb206680da57c31531e43401b2e729249df98693e23ffec gunicorn-registry stdout | 2025-09-26 08:37:03,569 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | c03ded538630283999558bce76731d99902adc89d86ba42e8c4f28ea43cb4c29 gunicorn-registry stdout | 2025-09-26 08:37:03,569 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,569 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:03,570 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:03,577 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:03,577 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l939v-c80oyd-lw7', 'x-amz-id-2': 'mg0l939v-c80oyd-lw7', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:03 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:03,577 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d09668d650afd73ec60008f93482' gunicorn-registry stdout | 2025-09-26 08:37:03,578 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,578 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:03,578 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:03,578 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l939v-c80oyd-lw7', 'HostId': 'mg0l939v-c80oyd-lw7', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l939v-c80oyd-lw7', 'x-amz-id-2': 'mg0l939v-c80oyd-lw7', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:03 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096', 'UploadId': '68d650afd73ec60008f93482'} gunicorn-registry stdout | 2025-09-26 08:37:03,578 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload exportactionlogsworker stdout | 2025-09-26 08:37:03,594 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} gunicorn-registry stdout | 2025-09-26 08:37:03,836 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:03,836 [250] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:03,836 [250] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096', 'UploadId': '68d650afd73ec60008f93482', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50f3dbe70>, 'ContentLength': 3647529} gunicorn-registry stdout | 2025-09-26 08:37:03,836 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,836 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,836 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,836 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,837 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:03,837 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,837 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,837 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:03,837 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:03,837 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:03,837 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:03,837 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:03,837 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,845 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,845 [250] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:03,845 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,845 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,845 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096', 'query_string': {'uploadId': '68d650afd73ec60008f93482', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '3647529', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'fMxzrT859i/TTuC0T2w3EA==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50f3dbe70>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096?uploadId=68d650afd73ec60008f93482&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096', 'UploadId': '68d650afd73ec60008f93482', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50f3dbe70>, 'ContentLength': 3647529}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:03,845 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:03,845 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:03,845 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,845 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,845 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:03,846 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096 gunicorn-registry stdout | partNumber=1&uploadId=68d650afd73ec60008f93482 gunicorn-registry stdout | content-length:3647529 gunicorn-registry stdout | content-md5:fMxzrT859i/TTuC0T2w3EA== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083703Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:03,846 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083703Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 887edb15d221f88317db8df9a8c23d7894f851a5365101760844e838ea3fbb9e gunicorn-registry stdout | 2025-09-26 08:37:03,846 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 8ec945f5c87c11950374862a59453d44c2175c4c53342e830c1e0f1fb33a152d gunicorn-registry stdout | 2025-09-26 08:37:03,846 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:03,846 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:03,847 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:03,848 [250] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:03,848 [250] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:04,142 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096?uploadId=68d650afd73ec60008f93482&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:04,142 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l93hk-99zxa-7b2', 'x-amz-id-2': 'mg0l93hk-99zxa-7b2', 'ETag': '"7ccc73ad3f39f62fd34ee0b44f6c3710"', 'Date': 'Fri, 26 Sep 2025 08:37:04 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:04,143 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:04,143 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,143 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:04,143 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:04,143 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l93hk-99zxa-7b2', 'HostId': 'mg0l93hk-99zxa-7b2', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l93hk-99zxa-7b2', 'x-amz-id-2': 'mg0l93hk-99zxa-7b2', 'etag': '"7ccc73ad3f39f62fd34ee0b44f6c3710"', 'date': 'Fri, 26 Sep 2025 08:37:04 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"7ccc73ad3f39f62fd34ee0b44f6c3710"'} gunicorn-registry stdout | 2025-09-26 08:37:04,143 [250] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096', 'UploadId': '68d650afd73ec60008f93482', 'MultipartUpload': {'Parts': [{'ETag': '"7ccc73ad3f39f62fd34ee0b44f6c3710"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:04,144 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,144 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,144 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,144 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:04,144 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,144 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,144 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:04,144 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:04,144 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:04,144 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:04,144 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:04,145 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,145 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,145 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,145 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096', 'query_string': {'uploadId': '68d650afd73ec60008f93482'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"7ccc73ad3f39f62fd34ee0b44f6c3710"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096?uploadId=68d650afd73ec60008f93482', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096', 'UploadId': '68d650afd73ec60008f93482', 'MultipartUpload': {'Parts': [{'ETag': '"7ccc73ad3f39f62fd34ee0b44f6c3710"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:04,145 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:04,145 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:04,145 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,145 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,145 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:04,145 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096 gunicorn-registry stdout | uploadId=68d650afd73ec60008f93482 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:fba94c639f4d8d3f47349c454ab19cacd0f54c02653c5689242f7d4037be7119 gunicorn-registry stdout | x-amz-date:20250926T083704Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | fba94c639f4d8d3f47349c454ab19cacd0f54c02653c5689242f7d4037be7119 gunicorn-registry stdout | 2025-09-26 08:37:04,145 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083704Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 6a524dffec36166b6a19f29c66e27fa2439387dbd2229d4ef18276dc951e898a gunicorn-registry stdout | 2025-09-26 08:37:04,145 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 78c6e228312bc77cfccc7a03f304fa8723f38f234644da4ed99f39e02703d575 gunicorn-registry stdout | 2025-09-26 08:37:04,146 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,146 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:04,146 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:04,168 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096?uploadId=68d650afd73ec60008f93482 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:04,169 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l93px-58ep48-141n', 'x-amz-id-2': 'mg0l93px-58ep48-141n', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:04 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:04,169 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096"b9ef788a2e9180083bf495551a582f85-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096?uploadId=68d650afd73ec60008f93482' gunicorn-registry stdout | 2025-09-26 08:37:04,169 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,169 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,169 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:04,169 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:04,170 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l93px-58ep48-141n', 'HostId': 'mg0l93px-58ep48-141n', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l93px-58ep48-141n', 'x-amz-id-2': 'mg0l93px-58ep48-141n', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:04 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096?uploadId=68d650afd73ec60008f93482', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7bfb6d60-33ee-466b-bb53-25c92389d096', 'ETag': '"b9ef788a2e9180083bf495551a582f85-1"'} gunicorn-registry stdout | 2025-09-26 08:37:04,170 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:04,171 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:04,171 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 3647529 bytes to blob fe87e47f-899f-4d8b-bedb-79557b17ed53 took 0.6093547344207764 seconds gunicorn-registry stdout | 2025-09-26 08:37:04,172 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['fe87e47f-899f-4d8b-bedb-79557b17ed53', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:04,176 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, 'fe87e47f-899f-4d8b-bedb-79557b17ed53', 3647529, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwenWWK/9QleSvnf8jT+MfJq/ff7rKVa5yldeV/zcAAP//3oC61gC0hAC/Tteu/N/zf5wFvE4bT+cfOz3/deT/9SkAAAAAAAAAAEC9AQAAAABTe4ngEnIQg4NluufgNBRjh4CnnJwyiWyACW2jcRUHSZRiLg==', 9, '{"chunks": [["uploads/7bfb6d60-33ee-466b-bb53-25c92389d096", 0, 3647529]]}', 1, 8696832, datetime.datetime(2025, 9, 26, 8, 37, 3, 477273), None, None, 42]) gunicorn-registry stdout | 2025-09-26 08:37:04,181 [250] [DEBUG] [app] Ending request: urn:request:6dc3beb1-6598-4051-901d-b7e77298fd3d (/v2/testorg/alpine/blobs/uploads/fe87e47f-899f-4d8b-bedb-79557b17ed53) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:6dc3beb1-6598-4051-901d-b7e77298fd3d', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/fe87e47f-899f-4d8b-bedb-79557b17ed53', 'path': '/v2/testorg/alpine/blobs/uploads/fe87e47f-899f-4d8b-bedb-79557b17ed53', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:04,181 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:04,181 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:04,181 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:04 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/fe87e47f-899f-4d8b-bedb-79557b17ed53 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:04 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/fe87e47f-899f-4d8b-bedb-79557b17ed53 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.660 3649305 0.659) gcworker stdout | 2025-09-26 08:37:04,439 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:37:04,440 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:21.444401+00:00 (in 17.004365 seconds) gcworker stdout | 2025-09-26 08:37:04,440 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:34 GMT)" (scheduled at 2025-09-26 08:37:04.439268+00:00) gcworker stdout | 2025-09-26 08:37:04,440 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:37:04,440 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:34 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:37:04,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:37:04,735 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:34.734534+00:00 (in 29.999513 seconds) autopruneworker stdout | 2025-09-26 08:37:04,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:34 GMT)" (scheduled at 2025-09-26 08:37:04.734534+00:00) autopruneworker stdout | 2025-09-26 08:37:04,743 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758872224742, None, 1, 0]) autopruneworker stdout | 2025-09-26 08:37:04,748 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:37:04,748 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:37:04,749 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:34 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:37:04,821 [250] [DEBUG] [app] Starting request: urn:request:b5fa2d7c-fa06-4c4d-838e-a8afef2c8a50 (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:04,821 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:04,821 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:04,821 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:04,823 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:04,823 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:04,823 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:04,823 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:04,823 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:04,824 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:04,828 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:04,831 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:04,835 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:04,838 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:04,842 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:04,845 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:37:04,849 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:04,853 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, '70b291ec-6481-4f21-89a2-1180bc6e4efe', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 4, 852677)]) gunicorn-registry stdout | 2025-09-26 08:37:04,858 [250] [DEBUG] [app] Ending request: urn:request:b5fa2d7c-fa06-4c4d-838e-a8afef2c8a50 (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:b5fa2d7c-fa06-4c4d-838e-a8afef2c8a50', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:04,858 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:04,858 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:04,859 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:04 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:04 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.038 1693 0.039) gunicorn-registry stdout | 2025-09-26 08:37:04,897 [250] [DEBUG] [app] Starting request: urn:request:9cdb8e0c-870d-450e-83af-10db291fe967 (/v2/testorg/alpine/blobs/uploads/70b291ec-6481-4f21-89a2-1180bc6e4efe) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:04,898 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '70b291ec-6481-4f21-89a2-1180bc6e4efe', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:04,898 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:04,898 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:04,899 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:04,899 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:04,899 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:04,899 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:04,899 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:04,900 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:04,904 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:04,907 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:04,910 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:04,914 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:04,917 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:04,922 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:04,925 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:37:04,929 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['70b291ec-6481-4f21-89a2-1180bc6e4efe', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:04,932 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:04,932 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:04,933 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:04,933 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:04,933 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:04,934 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,934 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,934 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,934 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,934 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:04,934 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,934 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,934 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:04,934 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:04,934 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:04,934 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:04,934 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:04,935 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,935 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,935 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,935 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:04,935 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:04,935 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:04,935 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,935 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,935 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:04,935 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083704Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:04,935 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083704Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 527c4b1a9b6d1b4cdbe0ddd35cbe1b1ba7ed34e7f7ef144a04655d43c580cecb gunicorn-registry stdout | 2025-09-26 08:37:04,935 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 51069f2df9d347b9db72401621adbc291220283eeaae0cb303a870a93c82c126 gunicorn-registry stdout | 2025-09-26 08:37:04,935 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,935 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:04,936 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:04,945 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:04,945 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l94bt-1q66zp-k48', 'x-amz-id-2': 'mg0l94bt-1q66zp-k48', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:04 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:04,945 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf68d650b0d73ec60008f9348b' gunicorn-registry stdout | 2025-09-26 08:37:04,946 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,946 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:04,946 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:04,946 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l94bt-1q66zp-k48', 'HostId': 'mg0l94bt-1q66zp-k48', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l94bt-1q66zp-k48', 'x-amz-id-2': 'mg0l94bt-1q66zp-k48', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:04 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf', 'UploadId': '68d650b0d73ec60008f9348b'} gunicorn-registry stdout | 2025-09-26 08:37:04,946 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:04,946 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:04,946 [250] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:04,947 [250] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf', 'UploadId': '68d650b0d73ec60008f9348b', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dae6890>, 'ContentLength': 580} gunicorn-registry stdout | 2025-09-26 08:37:04,947 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,947 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,947 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,947 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,947 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:04,947 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,947 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,947 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:04,947 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:04,947 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:04,947 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:04,947 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:04,947 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,948 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,948 [250] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:04,948 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,948 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,948 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf', 'query_string': {'uploadId': '68d650b0d73ec60008f9348b', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '580', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'L3NH/GasJlpF9yzRXN1Y7A==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dae6890>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf?uploadId=68d650b0d73ec60008f9348b&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf', 'UploadId': '68d650b0d73ec60008f9348b', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dae6890>, 'ContentLength': 580}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:04,948 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:04,948 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:04,948 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,948 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,948 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:04,948 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf gunicorn-registry stdout | partNumber=1&uploadId=68d650b0d73ec60008f9348b gunicorn-registry stdout | content-length:580 gunicorn-registry stdout | content-md5:L3NH/GasJlpF9yzRXN1Y7A== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083704Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:04,948 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083704Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 3cf69ede8d3ee76de66dfd57d083fb4a77dfd384c10b37eb8c823eedac4b2502 gunicorn-registry stdout | 2025-09-26 08:37:04,948 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | a7e8be28e97e1ca6e2f597abddace244ffc07afd80f37185e1c998aac0c78ee5 gunicorn-registry stdout | 2025-09-26 08:37:04,948 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:04,948 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:04,949 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:04,950 [250] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:04,950 [250] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:05,027 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf?uploadId=68d650b0d73ec60008f9348b&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:05,028 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l94c5-1xlw5c-151m', 'x-amz-id-2': 'mg0l94c5-1xlw5c-151m', 'ETag': '"2f7347fc66ac265a45f72cd15cdd58ec"', 'Date': 'Fri, 26 Sep 2025 08:37:05 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:05,028 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:05,028 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,028 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:05,028 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:05,028 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l94c5-1xlw5c-151m', 'HostId': 'mg0l94c5-1xlw5c-151m', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l94c5-1xlw5c-151m', 'x-amz-id-2': 'mg0l94c5-1xlw5c-151m', 'etag': '"2f7347fc66ac265a45f72cd15cdd58ec"', 'date': 'Fri, 26 Sep 2025 08:37:05 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"2f7347fc66ac265a45f72cd15cdd58ec"'} gunicorn-registry stdout | 2025-09-26 08:37:05,028 [250] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf', 'UploadId': '68d650b0d73ec60008f9348b', 'MultipartUpload': {'Parts': [{'ETag': '"2f7347fc66ac265a45f72cd15cdd58ec"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:05,028 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,028 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,028 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,028 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:05,029 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,029 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,029 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:05,029 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:05,029 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:05,029 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:05,029 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:05,029 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,029 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,029 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,029 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf', 'query_string': {'uploadId': '68d650b0d73ec60008f9348b'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"2f7347fc66ac265a45f72cd15cdd58ec"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf?uploadId=68d650b0d73ec60008f9348b', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf', 'UploadId': '68d650b0d73ec60008f9348b', 'MultipartUpload': {'Parts': [{'ETag': '"2f7347fc66ac265a45f72cd15cdd58ec"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:05,029 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:05,029 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:05,030 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,030 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,030 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:05,030 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf gunicorn-registry stdout | uploadId=68d650b0d73ec60008f9348b gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:9f4d5b3f9353b7f88e5e6dcd920df6c58a1efa5e14d2d850e458556b25c00985 gunicorn-registry stdout | x-amz-date:20250926T083705Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 9f4d5b3f9353b7f88e5e6dcd920df6c58a1efa5e14d2d850e458556b25c00985 gunicorn-registry stdout | 2025-09-26 08:37:05,030 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083705Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | d6025e859ea513f922d3c92cd8a3cb59e10be8cce5f7b8a0c847a27cbe6f38a0 gunicorn-registry stdout | 2025-09-26 08:37:05,030 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 0426e4f09be05ba9e7ff0297070ec5695c73c3084d583276435b08452188481e gunicorn-registry stdout | 2025-09-26 08:37:05,030 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,030 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:05,030 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:05,045 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf?uploadId=68d650b0d73ec60008f9348b HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:05,046 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l94ef-3ac6sw-vf3', 'x-amz-id-2': 'mg0l94ef-3ac6sw-vf3', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:05 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:05,046 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf"7478be6b88f1ffd40bbbd0969bfa45ef-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf?uploadId=68d650b0d73ec60008f9348b' gunicorn-registry stdout | 2025-09-26 08:37:05,046 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,046 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,046 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:05,046 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:05,046 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l94ef-3ac6sw-vf3', 'HostId': 'mg0l94ef-3ac6sw-vf3', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l94ef-3ac6sw-vf3', 'x-amz-id-2': 'mg0l94ef-3ac6sw-vf3', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:05 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf?uploadId=68d650b0d73ec60008f9348b', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/88787e79-6a73-4481-9952-3ba0718004cf', 'ETag': '"7478be6b88f1ffd40bbbd0969bfa45ef-1"'} gunicorn-registry stdout | 2025-09-26 08:37:05,046 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:05,047 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:05,047 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 580 bytes to blob 70b291ec-6481-4f21-89a2-1180bc6e4efe took 0.11492466926574707 seconds gunicorn-registry stdout | 2025-09-26 08:37:05,048 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['70b291ec-6481-4f21-89a2-1180bc6e4efe', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,053 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '70b291ec-6481-4f21-89a2-1180bc6e4efe', 580, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwIl19fWZjYTlmYTYxOTcxMWMzMmFkYmM0NWM4ODA0MDJjMTA0ZGJkZTczZjc1N2Q4N2I4Mjc5MTUxMjY0NzYxMQQAAAAAAAAAABIAAAAAAAAGseygg6h8e9dsaxD+qE9Q8rePk4URKfQWiRPk0eE+lZRiLg==', 9, '{"chunks": [["uploads/88787e79-6a73-4481-9952-3ba0718004cf", 0, 580]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 4, 852677), None, None, 43]) gunicorn-registry stdout | 2025-09-26 08:37:05,057 [250] [DEBUG] [app] Ending request: urn:request:9cdb8e0c-870d-450e-83af-10db291fe967 (/v2/testorg/alpine/blobs/uploads/70b291ec-6481-4f21-89a2-1180bc6e4efe) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:9cdb8e0c-870d-450e-83af-10db291fe967', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/70b291ec-6481-4f21-89a2-1180bc6e4efe', 'path': '/v2/testorg/alpine/blobs/uploads/70b291ec-6481-4f21-89a2-1180bc6e4efe', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:05,057 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:05,057 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:05,058 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:05 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/70b291ec-6481-4f21-89a2-1180bc6e4efe HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:05 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/70b291ec-6481-4f21-89a2-1180bc6e4efe HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.162 2352 0.161) gunicorn-registry stdout | 2025-09-26 08:37:05,265 [255] [DEBUG] [app] Starting request: urn:request:bbf8c810-b3eb-4a3e-ba2e-572d6f9f10fd (/v2/testorg/alpine/manifests/sha256:4b2235713e64d414107b901ceb31c8f53c55b66346170aad3feed8a916a7a5b9) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:05,265 [255] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:4b2235713e64d414107b901ceb31c8f53c55b66346170aad3feed8a916a7a5b9', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:05,265 [255] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:05,265 [255] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:05,266 [255] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:05,266 [255] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:05,266 [255] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:05,267 [255] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:05,267 [255] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:05,268 [255] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:37:05,268 [255] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg_alpine gunicorn-registry stdout | 2025-09-26 08:37:05,268 [255] [DEBUG] [data.cache.impl] Found result in cache for key repository_lookup_testorg_alpine: {'id': 2, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': 0, 'namespace_user': {'stripe_id': None}} gunicorn-registry stdout | 2025-09-26 08:37:05,269 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:4b2235713e64d414107b901ceb31c8f53c55b66346170aad3feed8a916a7a5b9', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,274 [255] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [2, 'sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1', 1, 2, 'sha256:d70fe15f9be3d15fea659cd54e3267b83bc5eca667fd46f7ce256a9c5c76b655', 1]) gunicorn-registry stdout | 2025-09-26 08:37:05,278 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:4b2235713e64d414107b901ceb31c8f53c55b66346170aad3feed8a916a7a5b9', 2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,283 [255] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [2, 'sha256:4b2235713e64d414107b901ceb31c8f53c55b66346170aad3feed8a916a7a5b9', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:d70fe15f9be3d15fea659cd54e3267b83bc5eca667fd46f7ce256a9c5c76b655",\n "size": 580\n },\n "layers": [\n {\n "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",\n "digest": "sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1",\n "size": 3647529\n }\n ],\n "annotations": {\n "com.docker.official-images.bashbrew.arch": "s390x",\n "org.opencontainers.image.base.name": "scratch",\n "org.opencontainers.image.created": "2025-05-30T16:20:41Z",\n "org.opencontainers.image.revision": "5213c5a71c73d39d5896657909e753effb1c05ff",\n "org.opencontainers.image.source": "https://github.com/alpinelinux/docker-alpine.git#5213c5a71c73d39d5896657909e753effb1c05ff:s390x",\n "org.opencontainers.image.url": "https://hub.docker.com/_/alpine",\n "org.opencontainers.image.version": "3.22.0"\n }\n}', 'application/vnd.oci.image.config.v1+json', 3647529, None, True, None, True]) gunicorn-registry stdout | 2025-09-26 08:37:05,286 [255] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [2, 16, 43, 2, 16, 44]) gunicorn-registry stdout | 2025-09-26 08:37:05,288 [255] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,289 [255] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [3, 1]) gunicorn-registry stdout | 2025-09-26 08:37:05,291 [255] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 43, 16, 1]) gunicorn-registry stdout | 2025-09-26 08:37:05,293 [255] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 44, 16, 1]) gunicorn-registry stdout | 2025-09-26 08:37:05,295 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,296 [255] [INFO] [data.model.quota] updating namespace size for manifest 16 in namespace 3, QuotaOperation.ADD 3648109 gunicorn-registry stdout | 2025-09-26 08:37:05,296 [255] [DEBUG] [peewee] ('UPDATE "quotanamespacesize" SET "size_bytes" = ("quotanamespacesize"."size_bytes" + %s) WHERE ("quotanamespacesize"."namespace_user_id" = %s)', [3648109, 3]) gunicorn-registry stdout | 2025-09-26 08:37:05,297 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,298 [255] [INFO] [data.model.quota] updating repository size for manifest 16 in repository 2, QuotaOperation.ADD 3648109 gunicorn-registry stdout | 2025-09-26 08:37:05,299 [255] [DEBUG] [peewee] ('UPDATE "quotarepositorysize" SET "size_bytes" = ("quotarepositorysize"."size_bytes" + %s) WHERE ("quotarepositorysize"."repository_id" = %s)', [3648109, 2]) gunicorn-registry stdout | 2025-09-26 08:37:05,300 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [16, None, 1758879425300, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,303 [255] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-b55f89dc-4500-4ff6-8a0e-3f647415599c', 2, 16, 1758875825300, 1758879425300, False, True, False, 1]) gunicorn-registry stdout | 2025-09-26 08:37:05,306 [255] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:d70fe15f9be3d15fea659cd54e3267b83bc5eca667fd46f7ce256a9c5c76b655', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,310 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['a4d27724-286e-4842-be05-e33cb13571b7']) gunicorn-registry stdout | 2025-09-26 08:37:05,314 [255] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:05,316 [255] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:05,316 [255] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/d7/d70fe15f9be3d15fea659cd54e3267b83bc5eca667fd46f7ce256a9c5c76b655'} gunicorn-registry stdout | 2025-09-26 08:37:05,316 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,316 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,316 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,316 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:05,316 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,316 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,316 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:05,316 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:05,316 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:05,317 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:05,317 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:05,317 [255] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,317 [255] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,317 [255] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,317 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/d7/d70fe15f9be3d15fea659cd54e3267b83bc5eca667fd46f7ce256a9c5c76b655', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/d7/d70fe15f9be3d15fea659cd54e3267b83bc5eca667fd46f7ce256a9c5c76b655', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/d7/d70fe15f9be3d15fea659cd54e3267b83bc5eca667fd46f7ce256a9c5c76b655', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/d7/d70fe15f9be3d15fea659cd54e3267b83bc5eca667fd46f7ce256a9c5c76b655'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:05,317 [255] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:05,317 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:05,317 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,317 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,317 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:05,317 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/d7/d70fe15f9be3d15fea659cd54e3267b83bc5eca667fd46f7ce256a9c5c76b655 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083705Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:05,317 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083705Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | b400a5c7de046a2f1dce3cb548df3935f4aee7bf7403fcafa5e025f9235868b5 gunicorn-registry stdout | 2025-09-26 08:37:05,317 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 708cd34f7e531e420ca18abf9cbce9c5fd7e613ff5694460ed9f2f0e933f8901 gunicorn-registry stdout | 2025-09-26 08:37:05,318 [255] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,318 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:05,318 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:05,361 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/d7/d70fe15f9be3d15fea659cd54e3267b83bc5eca667fd46f7ce256a9c5c76b655 HTTP/1.1" 200 580 gunicorn-registry stdout | 2025-09-26 08:37:05,361 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l94mf-81phzn-19os', 'x-amz-id-2': 'mg0l94mf-81phzn-19os', 'ETag': '"7478be6b88f1ffd40bbbd0969bfa45ef-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:05 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '580', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:05 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:05,361 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:05,361 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,361 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:05,361 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:05,361 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l94mf-81phzn-19os', 'HostId': 'mg0l94mf-81phzn-19os', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l94mf-81phzn-19os', 'x-amz-id-2': 'mg0l94mf-81phzn-19os', 'etag': '"7478be6b88f1ffd40bbbd0969bfa45ef-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:05 GMT', 'content-type': 'application/octet-stream', 'content-length': '580', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:05 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 5, tzinfo=tzutc()), 'ContentLength': 580, 'ETag': '"7478be6b88f1ffd40bbbd0969bfa45ef-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:05,364 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [16, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,368 [255] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['6c15db39-6302-4e48-b8b9-56a3d63fc0e4', 'com.docker.official-images.bashbrew.arch', 's390x', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:05,371 [255] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 16, 50]) gunicorn-registry stdout | 2025-09-26 08:37:05,375 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [16, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,378 [255] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['9c351757-6b46-4624-9e5a-b56fb38da296', 'org.opencontainers.image.base.name', 'scratch', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:05,380 [255] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 16, 51]) gunicorn-registry stdout | 2025-09-26 08:37:05,384 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [16, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,388 [255] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['36710df3-62ff-4b4a-b770-1af56e5ba6df', 'org.opencontainers.image.created', '2025-05-30T16:20:41Z', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:05,392 [255] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 16, 52]) gunicorn-registry stdout | 2025-09-26 08:37:05,395 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [16, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,399 [255] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['b6030d31-d312-4710-a853-b7807f23e59c', 'org.opencontainers.image.revision', '5213c5a71c73d39d5896657909e753effb1c05ff', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:05,402 [255] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 16, 53]) gunicorn-registry stdout | 2025-09-26 08:37:05,405 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [16, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,409 [255] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['20990bbb-24de-4226-a9c0-802c75e4f08a', 'org.opencontainers.image.source', 'https://github.com/alpinelinux/docker-alpine.git#5213c5a71c73d39d5896657909e753effb1c05ff:s390x', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:05,411 [255] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 16, 54]) gunicorn-registry stdout | 2025-09-26 08:37:05,415 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [16, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,419 [255] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['fd930cef-7164-4868-a0ac-49389318c938', 'org.opencontainers.image.url', 'https://hub.docker.com/_/alpine', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:05,421 [255] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 16, 55]) gunicorn-registry stdout | 2025-09-26 08:37:05,425 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [16, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,428 [255] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['009cbc90-c972-4cca-9dbb-5241ec5c34b2', 'org.opencontainers.image.version', '3.22.0', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:05,430 [255] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [2, 16, 56]) gunicorn-registry stdout | 2025-09-26 08:37:05,434 [255] [DEBUG] [app] Ending request: urn:request:bbf8c810-b3eb-4a3e-ba2e-572d6f9f10fd (/v2/testorg/alpine/manifests/sha256:4b2235713e64d414107b901ceb31c8f53c55b66346170aad3feed8a916a7a5b9) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:bbf8c810-b3eb-4a3e-ba2e-572d6f9f10fd', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/manifests/sha256:4b2235713e64d414107b901ceb31c8f53c55b66346170aad3feed8a916a7a5b9', 'path': '/v2/testorg/alpine/manifests/sha256:4b2235713e64d414107b901ceb31c8f53c55b66346170aad3feed8a916a7a5b9', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:d70fe15f9be3d15fea659cd54e3267b83bc5eca667fd46f7ce256a9c5c76b655', 'size': 580}, 'layers': [{'mediaType': 'application/vnd.oci.image.layer.v1.tar+gzip', 'digest': 'sha256:47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1', 'size': 3647529}], 'annotations': {'com.docker.official-images.bashbrew.arch': 's390x', 'org.opencontainers.image.base.name': 'scratch', 'org.opencontainers.image.created': '2025-05-30T16:20:41Z', 'org.opencontainers.image.revision': '5213c5a71c73d39d5896657909e753effb1c05ff', 'org.opencontainers.image.source': 'https://github.com/alpinelinux/docker-alpine.git#5213c5a71c73d39d5896657909e753effb1c05ff:s390x', 'org.opencontainers.image.url': 'https://hub.docker.com/_/alpine', 'org.opencontainers.image.version': '3.22.0'}}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:05,434 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:05,434 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:05,434 [255] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:05 +0000] "PUT /v2/testorg/alpine/manifests/sha256:4b2235713e64d414107b901ceb31c8f53c55b66346170aad3feed8a916a7a5b9 HTTP/1.1" 201 2 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:05 +0000] "PUT /v2/testorg/alpine/manifests/sha256:4b2235713e64d414107b901ceb31c8f53c55b66346170aad3feed8a916a7a5b9 HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.170 2841 0.170) gunicorn-registry stdout | 2025-09-26 08:37:05,635 [250] [DEBUG] [app] Starting request: urn:request:309ebd01-cc7f-4e5f-ac62-fd995a481734 (/v2/testorg/alpine/blobs/sha256:46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:05,635 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:05,635 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:05,635 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:05,636 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:05,636 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:05,636 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:05,636 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:05,636 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:05,637 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,641 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,645 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:05,645 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5_2 gunicorn-registry stdout | 2025-09-26 08:37:05,645 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:05,646 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,650 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,653 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,657 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,660 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,663 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5_2: None gunicorn-registry stdout | 2025-09-26 08:37:05,663 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5_2: None gunicorn-registry stdout | 2025-09-26 08:37:05,664 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:05,664 [250] [DEBUG] [app] Ending request: urn:request:309ebd01-cc7f-4e5f-ac62-fd995a481734 (/v2/testorg/alpine/blobs/sha256:46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:309ebd01-cc7f-4e5f-ac62-fd995a481734', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5', 'path': '/v2/testorg/alpine/blobs/sha256:46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:05,664 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:05,664 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:05,664 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:05 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:05 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.030 1714 0.030) gunicorn-registry stdout | 2025-09-26 08:37:05,869 [250] [DEBUG] [app] Starting request: urn:request:c9e6214e-919f-4056-8596-0900b55998e6 (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:05,870 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:05,870 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:05,870 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:05,871 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:05,872 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:05,872 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:05,872 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:05,872 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:05,873 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,877 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,878 [255] [DEBUG] [app] Starting request: urn:request:9f3aadb8-0607-43b7-bbe3-76609bf0e3af (/v2/testorg/alpine/blobs/sha256:fdec4331f7983ecc43538c024e5777c434aad8cb1ddf08084a05a44390d6943e) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:05,879 [255] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:fdec4331f7983ecc43538c024e5777c434aad8cb1ddf08084a05a44390d6943e', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:05,879 [255] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:05,879 [255] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:05,880 [255] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:05,880 [255] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:05,880 [255] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:05,880 [255] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:05,880 [255] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:05,880 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,881 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,885 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,885 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,888 [255] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:05,888 [255] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:fdec4331f7983ecc43538c024e5777c434aad8cb1ddf08084a05a44390d6943e_2 gunicorn-registry stdout | 2025-09-26 08:37:05,888 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,889 [255] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:fdec4331f7983ecc43538c024e5777c434aad8cb1ddf08084a05a44390d6943e_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:05,890 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,892 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,894 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,896 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:37:05,898 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,900 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,901 [255] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:fdec4331f7983ecc43538c024e5777c434aad8cb1ddf08084a05a44390d6943e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,904 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, '0b4bed52-609b-454d-959b-f436fc752a78', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 5, 904100)]) gunicorn-registry stdout | 2025-09-26 08:37:05,904 [255] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:fdec4331f7983ecc43538c024e5777c434aad8cb1ddf08084a05a44390d6943e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,907 [255] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:fdec4331f7983ecc43538c024e5777c434aad8cb1ddf08084a05a44390d6943e_2: None gunicorn-registry stdout | 2025-09-26 08:37:05,908 [255] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:fdec4331f7983ecc43538c024e5777c434aad8cb1ddf08084a05a44390d6943e_2: None gunicorn-registry stdout | 2025-09-26 08:37:05,908 [255] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:05,908 [255] [DEBUG] [app] Ending request: urn:request:9f3aadb8-0607-43b7-bbe3-76609bf0e3af (/v2/testorg/alpine/blobs/sha256:fdec4331f7983ecc43538c024e5777c434aad8cb1ddf08084a05a44390d6943e) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:9f3aadb8-0607-43b7-bbe3-76609bf0e3af', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:fdec4331f7983ecc43538c024e5777c434aad8cb1ddf08084a05a44390d6943e', 'path': '/v2/testorg/alpine/blobs/sha256:fdec4331f7983ecc43538c024e5777c434aad8cb1ddf08084a05a44390d6943e', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:05,909 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:05,909 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:05,909 [250] [DEBUG] [app] Ending request: urn:request:c9e6214e-919f-4056-8596-0900b55998e6 (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:c9e6214e-919f-4056-8596-0900b55998e6', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:05,909 [255] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:05 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:fdec4331f7983ecc43538c024e5777c434aad8cb1ddf08084a05a44390d6943e HTTP/1.1" 404 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:37:05,909 [250] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:05 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:fdec4331f7983ecc43538c024e5777c434aad8cb1ddf08084a05a44390d6943e HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.031 1714 0.031) gunicorn-registry stdout | 2025-09-26 08:37:05,909 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:05,909 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:05 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:05 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.041 1693 0.040) gunicorn-registry stdout | 2025-09-26 08:37:05,950 [250] [DEBUG] [app] Starting request: urn:request:60d6cc12-6506-46f4-870d-a1a2c7466725 (/v2/testorg/alpine/blobs/uploads/0b4bed52-609b-454d-959b-f436fc752a78) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:05,950 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '0b4bed52-609b-454d-959b-f436fc752a78', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:05,950 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:05,950 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:05,951 [257] [DEBUG] [app] Starting request: urn:request:2dc01877-6d05-4dfc-9bc3-f20c2d23b12f (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:05,951 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:05,951 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:05,951 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:05,952 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:05,952 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:05,952 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:05,952 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:05,952 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:05,952 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:05,952 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:05,952 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:05,952 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:05,952 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:05,953 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,953 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,957 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,957 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,960 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,960 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,964 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,965 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,968 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,969 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,971 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,973 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,975 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,976 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:37:05,979 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:37:05,980 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,982 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0b4bed52-609b-454d-959b-f436fc752a78', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:05,983 [257] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, '4ee4ac13-65ef-457a-a767-cc308c15de01', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 5, 983577)]) gunicorn-registry stdout | 2025-09-26 08:37:05,986 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:05,986 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:05,987 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:05,988 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:05,988 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:05,988 [257] [DEBUG] [app] Ending request: urn:request:2dc01877-6d05-4dfc-9bc3-f20c2d23b12f (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:2dc01877-6d05-4dfc-9bc3-f20c2d23b12f', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:05,988 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,988 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,988 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,988 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:05,988 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,988 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:05,989 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:05,989 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,989 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,989 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:05,989 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:05 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:37:05,989 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:05,989 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:05,989 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:05,989 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:05 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.039 1693 0.039) gunicorn-registry stdout | 2025-09-26 08:37:05,989 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,989 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,989 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,989 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:05,990 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:05,990 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:05,990 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,990 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,990 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:05,990 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083705Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:05,990 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083705Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 082f8fd2b86d2a2f8f2c69f14555d44f7d6df2ba0d43738cd976cd4fd06cd031 gunicorn-registry stdout | 2025-09-26 08:37:05,990 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 52742ffa398cc9c7ec8ad5c00a0ddf05f956fc7ad26bb21ed95faf49de6c49f4 gunicorn-registry stdout | 2025-09-26 08:37:05,991 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,991 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:05,991 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:05,997 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:05,997 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9554-2n4m2o-tkh', 'x-amz-id-2': 'mg0l9554-2n4m2o-tkh', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:05 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:05,997 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea68d650b1d73ec60008f93494' gunicorn-registry stdout | 2025-09-26 08:37:05,997 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,998 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:05,998 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:05,998 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9554-2n4m2o-tkh', 'HostId': 'mg0l9554-2n4m2o-tkh', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9554-2n4m2o-tkh', 'x-amz-id-2': 'mg0l9554-2n4m2o-tkh', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:05 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea', 'UploadId': '68d650b1d73ec60008f93494'} gunicorn-registry stdout | 2025-09-26 08:37:05,998 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:05,999 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:05,999 [250] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:05,999 [250] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea', 'UploadId': '68d650b1d73ec60008f93494', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dab67f0>, 'ContentLength': 5678} gunicorn-registry stdout | 2025-09-26 08:37:05,999 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:05,999 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,000 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,000 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,000 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,000 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,000 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,000 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,000 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:06,000 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:06,000 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:06,000 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:06,000 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,001 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,001 [250] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:06,001 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,001 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,001 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea', 'query_string': {'uploadId': '68d650b1d73ec60008f93494', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '5678', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': '0LQofgiEOuVI5M2L3/kBXQ==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dab67f0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea?uploadId=68d650b1d73ec60008f93494&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea', 'UploadId': '68d650b1d73ec60008f93494', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dab67f0>, 'ContentLength': 5678}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:06,001 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,001 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,001 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,001 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,002 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:06,002 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea gunicorn-registry stdout | partNumber=1&uploadId=68d650b1d73ec60008f93494 gunicorn-registry stdout | content-length:5678 gunicorn-registry stdout | content-md5:0LQofgiEOuVI5M2L3/kBXQ== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083706Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:06,002 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083706Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 1a28c26403b01b81355f4718732f40159f1f2e3b57b27c2296ad7c24540f0217 gunicorn-registry stdout | 2025-09-26 08:37:06,002 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 75e074e53d25bac5c80b4a92d0aa6308e62c8bd888ccd4128e874e32c7dd5197 gunicorn-registry stdout | 2025-09-26 08:37:06,002 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,002 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:06,003 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:06,004 [250] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:06,004 [250] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:06,082 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea?uploadId=68d650b1d73ec60008f93494&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:06,082 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l955g-2u17wq-rne', 'x-amz-id-2': 'mg0l955g-2u17wq-rne', 'ETag': '"d0b4287e08843ae548e4cd8bdff9015d"', 'Date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:06,082 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:06,082 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,083 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:06,083 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,083 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l955g-2u17wq-rne', 'HostId': 'mg0l955g-2u17wq-rne', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l955g-2u17wq-rne', 'x-amz-id-2': 'mg0l955g-2u17wq-rne', 'etag': '"d0b4287e08843ae548e4cd8bdff9015d"', 'date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"d0b4287e08843ae548e4cd8bdff9015d"'} gunicorn-registry stdout | 2025-09-26 08:37:06,083 [250] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea', 'UploadId': '68d650b1d73ec60008f93494', 'MultipartUpload': {'Parts': [{'ETag': '"d0b4287e08843ae548e4cd8bdff9015d"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:06,083 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,084 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,084 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,084 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,084 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,084 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,084 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,084 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:06,084 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:06,084 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:06,084 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:06,085 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,085 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,085 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,085 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea', 'query_string': {'uploadId': '68d650b1d73ec60008f93494'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"d0b4287e08843ae548e4cd8bdff9015d"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea?uploadId=68d650b1d73ec60008f93494', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea', 'UploadId': '68d650b1d73ec60008f93494', 'MultipartUpload': {'Parts': [{'ETag': '"d0b4287e08843ae548e4cd8bdff9015d"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:06,085 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,085 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,085 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,085 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,086 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:06,086 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea gunicorn-registry stdout | uploadId=68d650b1d73ec60008f93494 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:859199c47915894b2d2dad072dddf5c52c2716ac6fe35b87f4e27a1faa3ec62b gunicorn-registry stdout | x-amz-date:20250926T083706Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 859199c47915894b2d2dad072dddf5c52c2716ac6fe35b87f4e27a1faa3ec62b gunicorn-registry stdout | 2025-09-26 08:37:06,086 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083706Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 1675b10ee592b2423e6879e8ce95b4350b2a4e32b22d9499a7fa0a17a5513c88 gunicorn-registry stdout | 2025-09-26 08:37:06,086 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 297bd3e8ea320d3730cf714e728ad82932e8d77e1a4ebb896229faa30445435d gunicorn-registry stdout | 2025-09-26 08:37:06,086 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,086 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:06,086 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:06,102 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea?uploadId=68d650b1d73ec60008f93494 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:06,102 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l957r-47svl9-2xq', 'x-amz-id-2': 'mg0l957r-47svl9-2xq', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:06,102 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea"4a5205b4e80b938c24d031baf5e8c3d0-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea?uploadId=68d650b1d73ec60008f93494' gunicorn-registry stdout | 2025-09-26 08:37:06,103 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,103 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,103 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:06,103 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,103 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l957r-47svl9-2xq', 'HostId': 'mg0l957r-47svl9-2xq', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l957r-47svl9-2xq', 'x-amz-id-2': 'mg0l957r-47svl9-2xq', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea?uploadId=68d650b1d73ec60008f93494', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea', 'ETag': '"4a5205b4e80b938c24d031baf5e8c3d0-1"'} gunicorn-registry stdout | 2025-09-26 08:37:06,103 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:06,104 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:06,105 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 5678 bytes to blob 0b4bed52-609b-454d-959b-f436fc752a78 took 0.1181952953338623 seconds gunicorn-registry stdout | 2025-09-26 08:37:06,106 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0b4bed52-609b-454d-959b-f436fc752a78', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,110 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '0b4bed52-609b-454d-959b-f436fc752a78', 5678, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwL21vYnlwcm9qZWN0Lm9yZy9idWlsZGtpdEB2MSNoZXJtZXRpYyI6dHJ1ZX19fTc1Mjl9XV19fSwiaHR0cHM6Ly4AAAAAAAAAALAAAAAAAABFjzwytu/yhlAai1hFSezS7tOo+jyX2vKKcph6wyfPOJRiLg==', 9, '{"chunks": [["uploads/8252e3ca-2496-466d-b000-65653a0919ea", 0, 5678]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 5, 904100), None, None, 44]) gunicorn-registry stdout | 2025-09-26 08:37:06,115 [250] [DEBUG] [app] Ending request: urn:request:60d6cc12-6506-46f4-870d-a1a2c7466725 (/v2/testorg/alpine/blobs/uploads/0b4bed52-609b-454d-959b-f436fc752a78) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:60d6cc12-6506-46f4-870d-a1a2c7466725', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/0b4bed52-609b-454d-959b-f436fc752a78', 'path': '/v2/testorg/alpine/blobs/uploads/0b4bed52-609b-454d-959b-f436fc752a78', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:06,115 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:06,115 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:06,115 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:06 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/0b4bed52-609b-454d-959b-f436fc752a78 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:06 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/0b4bed52-609b-454d-959b-f436fc752a78 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.167 7451 0.166) gunicorn-registry stdout | 2025-09-26 08:37:06,157 [250] [DEBUG] [app] Starting request: urn:request:6b6920bb-fb5f-494b-a872-6711563c93fa (/v2/testorg/alpine/blobs/uploads/0b4bed52-609b-454d-959b-f436fc752a78) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:06,157 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '0b4bed52-609b-454d-959b-f436fc752a78', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:06,157 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:06,157 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:06,158 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:06,158 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:06,158 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:06,159 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:06,159 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:06,159 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,165 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,168 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,172 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,175 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,179 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,183 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,186 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:37:06,190 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0b4bed52-609b-454d-959b-f436fc752a78', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,193 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:06,193 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:06,193 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:06,194 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:06,194 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1dde8c9b-7717-4a78-ae4c-977bf4da1d4f', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:06,194 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,194 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,194 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,194 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,194 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,194 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,194 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,194 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,195 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:06,195 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:06,195 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:06,195 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:06,195 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,195 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,195 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,195 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/1dde8c9b-7717-4a78-ae4c-977bf4da1d4f?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1dde8c9b-7717-4a78-ae4c-977bf4da1d4f', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1dde8c9b-7717-4a78-ae4c-977bf4da1d4f?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1dde8c9b-7717-4a78-ae4c-977bf4da1d4f', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:06,195 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,195 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,195 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,195 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,196 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:06,196 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1dde8c9b-7717-4a78-ae4c-977bf4da1d4f gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083706Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:06,196 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083706Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 985a1f7c0759da8303551eaf09914ae3efab7090e47085848e49a60531be35ec gunicorn-registry stdout | 2025-09-26 08:37:06,196 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 7be5b3b57a45da4b6f22b05c5f1e50e796d22777b9391e1a52acb533694f9435 gunicorn-registry stdout | 2025-09-26 08:37:06,196 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,196 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:06,196 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:06,201 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1dde8c9b-7717-4a78-ae4c-977bf4da1d4f?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:06,201 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95at-616b7l-177r', 'x-amz-id-2': 'mg0l95at-616b7l-177r', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:06,201 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/1dde8c9b-7717-4a78-ae4c-977bf4da1d4f68d650b2d73ec60008f934a0' gunicorn-registry stdout | 2025-09-26 08:37:06,202 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,202 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:06,202 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,202 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l95at-616b7l-177r', 'HostId': 'mg0l95at-616b7l-177r', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95at-616b7l-177r', 'x-amz-id-2': 'mg0l95at-616b7l-177r', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1dde8c9b-7717-4a78-ae4c-977bf4da1d4f', 'UploadId': '68d650b2d73ec60008f934a0'} gunicorn-registry stdout | 2025-09-26 08:37:06,202 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:06,203 [250] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1dde8c9b-7717-4a78-ae4c-977bf4da1d4f', 'UploadId': '68d650b2d73ec60008f934a0'} gunicorn-registry stdout | 2025-09-26 08:37:06,203 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,203 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,203 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,203 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,203 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,203 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,203 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:06,204 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:06,204 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:06,204 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:06,204 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,204 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,204 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,204 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/1dde8c9b-7717-4a78-ae4c-977bf4da1d4f', 'query_string': {'uploadId': '68d650b2d73ec60008f934a0'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1dde8c9b-7717-4a78-ae4c-977bf4da1d4f', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1dde8c9b-7717-4a78-ae4c-977bf4da1d4f?uploadId=68d650b2d73ec60008f934a0', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1dde8c9b-7717-4a78-ae4c-977bf4da1d4f', 'UploadId': '68d650b2d73ec60008f934a0'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:06,204 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,204 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,204 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,204 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,204 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:06,204 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1dde8c9b-7717-4a78-ae4c-977bf4da1d4f gunicorn-registry stdout | uploadId=68d650b2d73ec60008f934a0 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083706Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:06,205 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083706Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 9bd8f81250bbcfab7fde4803f0546d1ffd7cdf9278ddcfcf3a9438f8238f60e2 gunicorn-registry stdout | 2025-09-26 08:37:06,205 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 82a8727a4bc8098a8a6f4b563c66ceea1196b0a04409c1b2768858b27e204170 gunicorn-registry stdout | 2025-09-26 08:37:06,205 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,205 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:06,205 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:06,211 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1dde8c9b-7717-4a78-ae4c-977bf4da1d4f?uploadId=68d650b2d73ec60008f934a0 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:06,212 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95b2-66ev48-lao', 'x-amz-id-2': 'mg0l95b2-66ev48-lao', 'Date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:06,212 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:06,212 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,212 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:06,212 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,212 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l95b2-66ev48-lao', 'HostId': 'mg0l95b2-66ev48-lao', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95b2-66ev48-lao', 'x-amz-id-2': 'mg0l95b2-66ev48-lao', 'date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:06,212 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 0b4bed52-609b-454d-959b-f436fc752a78 took 0.01905345916748047 seconds gunicorn-registry stdout | 2025-09-26 08:37:06,212 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0b4bed52-609b-454d-959b-f436fc752a78', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,217 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, '0b4bed52-609b-454d-959b-f436fc752a78', 5678, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwL21vYnlwcm9qZWN0Lm9yZy9idWlsZGtpdEB2MSNoZXJtZXRpYyI6dHJ1ZX19fTc1Mjl9XV19fSwiaHR0cHM6Ly4AAAAAAAAAALAAAAAAAABFjzwytu/yhlAai1hFSezS7tOo+jyX2vKKcph6wyfPOJRiLg==', 9, '{"chunks": [["uploads/8252e3ca-2496-466d-b000-65653a0919ea", 0, 5678]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 5, 904100), None, None, 44]) gunicorn-registry stdout | 2025-09-26 08:37:06,221 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:06,221 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:06,221 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:06,221 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:06,222 [250] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/46/46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5'} gunicorn-registry stdout | 2025-09-26 08:37:06,222 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,222 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,222 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,222 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,222 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,222 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,222 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,222 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:06,222 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:06,222 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:06,222 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:06,222 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,222 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,222 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,222 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/46/46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/46/46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/46/46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/46/46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:06,222 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,223 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,223 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,223 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,223 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:06,223 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/46/46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083706Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:06,223 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083706Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 0d003fbbb6e01a89568e41899f4dca4c7965fcfddd44e4eb2d0498683daf79ae gunicorn-registry stdout | 2025-09-26 08:37:06,223 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 407c3fd1de7aa34a1dcce7cd5b5b8f76ff158dc0739ef827a46f5e960bd30d9d gunicorn-registry stdout | 2025-09-26 08:37:06,223 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,224 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:06,224 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:06,228 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/46/46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:06,228 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95bl-6hnhzz-nxl', 'x-amz-id-2': 'mg0l95bl-6hnhzz-nxl', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:06,228 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:06,228 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,228 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:06,228 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,229 [250] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:06,229 [250] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:06,229 [250] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/46/46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5 gunicorn-registry stdout | 2025-09-26 08:37:06,229 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:06,229 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:06,229 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:06,230 [250] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:06,230 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,230 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,230 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,230 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,230 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,230 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,230 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,230 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:06,230 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:06,230 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:06,230 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:06,231 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,231 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,231 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,231 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:06,231 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,231 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,231 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,231 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,231 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,231 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:06,231 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083706Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:06,231 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083706Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | e84417973b0d41e88f12b0c7c070f660f4b8938d45ac57efff47913b128a0c75 gunicorn-registry stdout | 2025-09-26 08:37:06,231 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 50d840866c1dbfa297dcd88843ea30fc4a79978dfd5f3691409c3e4da6ce6e19 gunicorn-registry stdout | 2025-09-26 08:37:06,231 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,231 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,232 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:06,232 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:06,235 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:06,235 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95bt-6mcnx7-e6b', 'x-amz-id-2': 'mg0l95bt-6mcnx7-e6b', 'ETag': '"4a5205b4e80b938c24d031baf5e8c3d0-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:06 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '5678', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:06,236 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:06,236 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,236 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:06,236 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,236 [250] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/46/46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:06,236 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:06,237 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/46/46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:06,237 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/46/46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:06,237 [250] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/46/46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/46/46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5', 'extra_args': {}, 'callbacks': [], 'size': 5678} gunicorn-registry stdout | 2025-09-26 08:37:06,237 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,237 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,237 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,237 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,237 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,237 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,237 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,237 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,237 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,237 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,237 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:06,237 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:06,237 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:06,237 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:06,238 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,238 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,238 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,238 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/46/46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/46/46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/46/46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/46/46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:06,238 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,238 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,238 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,238 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,238 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,238 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:06,238 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/46/46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8252e3ca-2496-466d-b000-65653a0919ea gunicorn-registry stdout | x-amz-date:20250926T083706Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:06,238 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083706Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 67e814ada1033a1fd59bc71749c3401c5e73fd578309e6062f629473f3ca0f96 gunicorn-registry stdout | 2025-09-26 08:37:06,238 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 298ddad3601a4b9f99f881548ac448140e88466126e776abc260004c15b34f80 gunicorn-registry stdout | 2025-09-26 08:37:06,238 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,238 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,238 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:06,239 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:06,239 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:06,264 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/46/46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:06,265 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95c0-6qigvp-gbn', 'x-amz-id-2': 'mg0l95c0-6qigvp-gbn', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:06,265 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:06.000Z"4a5205b4e80b938c24d031baf5e8c3d0-1"' gunicorn-registry stdout | 2025-09-26 08:37:06,265 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,265 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,265 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:06,265 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,265 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:06,266 [250] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 0b4bed52-609b-454d-959b-f436fc752a78 with digest sha256:46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5 took 0.03740859031677246 seconds gunicorn-registry stdout | 2025-09-26 08:37:06,267 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0b4bed52-609b-454d-959b-f436fc752a78', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,269 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,271 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['f6f4df60-d651-4e42-a98c-2dc2d9fe617a', 5678, None, True, True, 'sha256:46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5']) gunicorn-registry stdout | 2025-09-26 08:37:06,273 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [45, 9]) gunicorn-registry stdout | 2025-09-26 08:37:06,274 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,276 [250] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 45, datetime.datetime(2025, 9, 26, 8, 37, 6, 276053), datetime.datetime(2025, 9, 26, 9, 37, 6, 276035)]) gunicorn-registry stdout | 2025-09-26 08:37:06,277 [250] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [44]) gunicorn-registry stdout | 2025-09-26 08:37:06,281 [250] [DEBUG] [app] Ending request: urn:request:6b6920bb-fb5f-494b-a872-6711563c93fa (/v2/testorg/alpine/blobs/uploads/0b4bed52-609b-454d-959b-f436fc752a78) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:6b6920bb-fb5f-494b-a872-6711563c93fa', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/0b4bed52-609b-454d-959b-f436fc752a78?digest=sha256:46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5', 'path': '/v2/testorg/alpine/blobs/uploads/0b4bed52-609b-454d-959b-f436fc752a78', 'parameters': {'digest': 'sha256:46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:06,281 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:06,281 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:06,281 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:06 +0000] "PUT /v2/testorg/alpine/blobs/uploads/0b4bed52-609b-454d-959b-f436fc752a78?digest=sha256%3A46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:06 +0000] "PUT /v2/testorg/alpine/blobs/uploads/0b4bed52-609b-454d-959b-f436fc752a78?digest=sha256%3A46fe55b2f760b35f41708fb01116dae87029350fffeb1d00f7dd0520587195c5 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.125 1849 0.125) notificationworker stdout | 2025-09-26 08:37:06,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:37:06,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:16.440077+00:00 (in 9.999553 seconds) notificationworker stdout | 2025-09-26 08:37:06,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:16 GMT)" (scheduled at 2025-09-26 08:37:06.440077+00:00) notificationworker stdout | 2025-09-26 08:37:06,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:37:06,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 37, 6, 440832), True, datetime.datetime(2025, 9, 26, 8, 37, 6, 440832), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:37:06,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:37:06,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:37:06,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:16 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:37:06,577 [256] [DEBUG] [app] Starting request: urn:request:9fa12b2b-acae-4951-84a5-3fe1db93940d (/v2/testorg/alpine/blobs/sha256:dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:06,577 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:06,577 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:06,577 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:06,578 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:06,578 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:06,578 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:06,578 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:06,578 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:06,579 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,583 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,586 [256] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:06,586 [256] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg_alpine_sha256:dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31_2 gunicorn-registry stdout | 2025-09-26 08:37:06,587 [256] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg_alpine_sha256:dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:06,587 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,591 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,594 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,597 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,601 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [2, 'sha256:dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,604 [256] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg_alpine_sha256:dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31_2: None gunicorn-registry stdout | 2025-09-26 08:37:06,605 [256] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg_alpine_sha256:dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31_2: None gunicorn-registry stdout | 2025-09-26 08:37:06,605 [256] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:06,605 [256] [DEBUG] [app] Ending request: urn:request:9fa12b2b-acae-4951-84a5-3fe1db93940d (/v2/testorg/alpine/blobs/sha256:dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:9fa12b2b-acae-4951-84a5-3fe1db93940d', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/sha256:dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31', 'path': '/v2/testorg/alpine/blobs/sha256:dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:06,606 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:06,606 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:06,606 [256] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:06 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:06 +0000] "HEAD /v2/testorg/alpine/blobs/sha256:dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.030 1714 0.030) gunicorn-registry stdout | 2025-09-26 08:37:06,649 [257] [DEBUG] [app] Starting request: urn:request:526e5fdb-2aee-4da8-b306-023b9297bf83 (/v2/testorg/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:06,649 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:06,649 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:06,649 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:06,650 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:06,650 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:06,650 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:06,650 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:06,650 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:06,651 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,655 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,659 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,663 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,667 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,671 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,674 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:37:06,678 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,681 [257] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [2, 'e3c29cd4-f2d6-45b5-b173-87393a34f870', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 6, 681626)]) gunicorn-registry stdout | 2025-09-26 08:37:06,687 [257] [DEBUG] [app] Ending request: urn:request:526e5fdb-2aee-4da8-b306-023b9297bf83 (/v2/testorg/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:526e5fdb-2aee-4da8-b306-023b9297bf83', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/', 'path': '/v2/testorg/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:06,687 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:06,687 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:06,687 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:06 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:06 +0000] "POST /v2/testorg/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.040 1693 0.040) gunicorn-registry stdout | 2025-09-26 08:37:06,730 [257] [DEBUG] [app] Starting request: urn:request:f7bc26fb-1a74-41cc-9bd7-215e405119e7 (/v2/testorg/alpine/blobs/uploads/e3c29cd4-f2d6-45b5-b173-87393a34f870) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:06,730 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'e3c29cd4-f2d6-45b5-b173-87393a34f870', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:06,730 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:06,730 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:06,731 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:06,731 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:06,731 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:06,731 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:06,731 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:06,732 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,737 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,740 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,744 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,748 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,751 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,756 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,759 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:37:06,763 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['e3c29cd4-f2d6-45b5-b173-87393a34f870', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,767 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:06,767 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:06,767 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:06,769 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:06,770 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:06,770 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,770 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,770 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,770 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,770 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,770 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,770 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,770 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,770 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:06,770 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:06,770 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:06,770 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:06,770 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,771 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,771 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,771 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:06,771 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,771 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,771 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,771 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,771 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:06,771 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083706Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:06,771 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083706Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 6ba9a0c5a12d37b695b054ef0d1b3e4298360498abce396c580c8d8deb778e46 gunicorn-registry stdout | 2025-09-26 08:37:06,771 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | e50a95d11c3d1e0b7759d5500740166562cb8231e8e4acb689532ebf20f5e82f gunicorn-registry stdout | 2025-09-26 08:37:06,771 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,771 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:06,772 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:06,772 [257] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:37:06,800 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:06,801 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95rg-fxu5za-xvq', 'x-amz-id-2': 'mg0l95rg-fxu5za-xvq', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:06,801 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc868d650b2d73ec60008f934a6' gunicorn-registry stdout | 2025-09-26 08:37:06,801 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,802 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:06,802 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,802 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l95rg-fxu5za-xvq', 'HostId': 'mg0l95rg-fxu5za-xvq', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95rg-fxu5za-xvq', 'x-amz-id-2': 'mg0l95rg-fxu5za-xvq', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8', 'UploadId': '68d650b2d73ec60008f934a6'} gunicorn-registry stdout | 2025-09-26 08:37:06,802 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:06,802 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:06,802 [257] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:06,803 [257] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8', 'UploadId': '68d650b2d73ec60008f934a6', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dabe4d0>, 'ContentLength': 241} gunicorn-registry stdout | 2025-09-26 08:37:06,803 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,803 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,803 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,803 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,803 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,803 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,803 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,803 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,803 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:06,803 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:06,803 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:06,803 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:06,804 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,804 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,804 [257] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:06,804 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,804 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,804 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8', 'query_string': {'uploadId': '68d650b2d73ec60008f934a6', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '241', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'BhGTw+ft55LGY7RqTci7kQ==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dabe4d0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8?uploadId=68d650b2d73ec60008f934a6&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8', 'UploadId': '68d650b2d73ec60008f934a6', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dabe4d0>, 'ContentLength': 241}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:06,804 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,804 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,804 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,804 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,804 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:06,805 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8 gunicorn-registry stdout | partNumber=1&uploadId=68d650b2d73ec60008f934a6 gunicorn-registry stdout | content-length:241 gunicorn-registry stdout | content-md5:BhGTw+ft55LGY7RqTci7kQ== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083706Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:06,805 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083706Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | c2f8c5e8e845c34d7c4f6abc1a6cc227dc1ff46fd3750f221ab5cedf21b72ad0 gunicorn-registry stdout | 2025-09-26 08:37:06,805 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | c24bf412c606809d8035c7d2f7a3abdf7ba38a94ac46fcbfbcaeec7c8e4cb65d gunicorn-registry stdout | 2025-09-26 08:37:06,805 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,805 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:06,805 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:06,806 [257] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:06,806 [257] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:06,866 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8?uploadId=68d650b2d73ec60008f934a6&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:06,866 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95rq-g3pqnz-1113', 'x-amz-id-2': 'mg0l95rq-g3pqnz-1113', 'ETag': '"061193c3e7ede792c663b46a4dc8bb91"', 'Date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:06,866 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:06,866 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,866 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:06,866 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,866 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l95rq-g3pqnz-1113', 'HostId': 'mg0l95rq-g3pqnz-1113', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95rq-g3pqnz-1113', 'x-amz-id-2': 'mg0l95rq-g3pqnz-1113', 'etag': '"061193c3e7ede792c663b46a4dc8bb91"', 'date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"061193c3e7ede792c663b46a4dc8bb91"'} gunicorn-registry stdout | 2025-09-26 08:37:06,867 [257] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8', 'UploadId': '68d650b2d73ec60008f934a6', 'MultipartUpload': {'Parts': [{'ETag': '"061193c3e7ede792c663b46a4dc8bb91"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:06,867 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,867 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,867 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,867 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,867 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,867 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,867 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,867 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:06,867 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:06,867 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:06,867 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:06,867 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,867 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,867 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,868 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8', 'query_string': {'uploadId': '68d650b2d73ec60008f934a6'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"061193c3e7ede792c663b46a4dc8bb91"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8?uploadId=68d650b2d73ec60008f934a6', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8', 'UploadId': '68d650b2d73ec60008f934a6', 'MultipartUpload': {'Parts': [{'ETag': '"061193c3e7ede792c663b46a4dc8bb91"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:06,868 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,868 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,868 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,868 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,868 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:06,868 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8 gunicorn-registry stdout | uploadId=68d650b2d73ec60008f934a6 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:c461d6678b91c8252daa72dfde71f774e1792821df849af59769bb2fca4b5d57 gunicorn-registry stdout | x-amz-date:20250926T083706Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | c461d6678b91c8252daa72dfde71f774e1792821df849af59769bb2fca4b5d57 gunicorn-registry stdout | 2025-09-26 08:37:06,868 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083706Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | c4667cf52f5c3fd982392ff277ff7371fbe84224915e5c5aef486116da07d79a gunicorn-registry stdout | 2025-09-26 08:37:06,868 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 60ab13256566d3092e13b202e6c57ba7e10dec64b80a3d9c3c7e1f87d959c6a1 gunicorn-registry stdout | 2025-09-26 08:37:06,868 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,868 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:06,868 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:06,884 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8?uploadId=68d650b2d73ec60008f934a6 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:06,884 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95th-lxkta-f2e', 'x-amz-id-2': 'mg0l95th-lxkta-f2e', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:06,884 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8"53322718ebdc1748c36dd9ac59b3279e-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8?uploadId=68d650b2d73ec60008f934a6' gunicorn-registry stdout | 2025-09-26 08:37:06,884 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,885 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,885 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:06,885 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,885 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l95th-lxkta-f2e', 'HostId': 'mg0l95th-lxkta-f2e', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95th-lxkta-f2e', 'x-amz-id-2': 'mg0l95th-lxkta-f2e', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8?uploadId=68d650b2d73ec60008f934a6', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8', 'ETag': '"53322718ebdc1748c36dd9ac59b3279e-1"'} gunicorn-registry stdout | 2025-09-26 08:37:06,885 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:06,886 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:06,887 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 241 bytes to blob e3c29cd4-f2d6-45b5-b173-87393a34f870 took 0.11962342262268066 seconds gunicorn-registry stdout | 2025-09-26 08:37:06,888 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['e3c29cd4-f2d6-45b5-b173-87393a34f870', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,891 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, 'e3c29cd4-f2d6-45b5-b173-87393a34f870', 241, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwMDhmYjAxMTE2ZGFlODcwMjkzNTBmZmZlYjFkMDBmN2RkMDUyMDU4NzE5NWM1Il19fTU1YjJmNzYwYjM1ZjQxNzEAAAAAAAAAAAYAAAAAAABn/RryCEForohhYGARA88IcitrjFF616DGz50O1xbpcpRiLg==', 9, '{"chunks": [["uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8", 0, 241]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 6, 681626), None, None, 46]) gunicorn-registry stdout | 2025-09-26 08:37:06,896 [257] [DEBUG] [app] Ending request: urn:request:f7bc26fb-1a74-41cc-9bd7-215e405119e7 (/v2/testorg/alpine/blobs/uploads/e3c29cd4-f2d6-45b5-b173-87393a34f870) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:f7bc26fb-1a74-41cc-9bd7-215e405119e7', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/e3c29cd4-f2d6-45b5-b173-87393a34f870', 'path': '/v2/testorg/alpine/blobs/uploads/e3c29cd4-f2d6-45b5-b173-87393a34f870', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:06,896 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:06,897 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:06,897 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:06 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/e3c29cd4-f2d6-45b5-b173-87393a34f870 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:06 +0000] "PATCH /v2/testorg/alpine/blobs/uploads/e3c29cd4-f2d6-45b5-b173-87393a34f870 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.169 2013 0.168) autopruneworker stdout | 2025-09-26 08:37:06,900 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} gunicorn-registry stdout | 2025-09-26 08:37:06,939 [257] [DEBUG] [app] Starting request: urn:request:effbde57-78e0-45a4-9e6f-3a0b8abb345f (/v2/testorg/alpine/blobs/uploads/e3c29cd4-f2d6-45b5-b173-87393a34f870) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:06,939 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'e3c29cd4-f2d6-45b5-b173-87393a34f870', 'namespace_name': 'testorg', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:06,939 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:06,939 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1NzkyLCJpYXQiOjE3NTg4NzU3OTIsImV4cCI6MTc1ODg3OTM5Miwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZy9hbHBpbmUiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19XSwiY29udGV4dCI6eyJ2ZXJzaW9uIjoyLCJlbnRpdHlfa2luZCI6InVzZXIiLCJlbnRpdHlfcmVmZXJlbmNlIjoiOWY3NzZkY2UtNzM0Ny00YjY5LThiZDUtMzYyMTAzNGRiMjNjIiwia2luZCI6InVzZXIiLCJ1c2VyIjoicXVheSIsImNvbS5hcG9zdGlsbGUucm9vdHMiOnsidGVzdG9yZy9hbHBpbmUiOiIkZGlzYWJsZWQifSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.aKvv9GBRWiqOovsPoU771bN6sAK9me-_jlqbqSrKkxfV6sHfXymJfV4qOHcPNJ2XffgSwO-BUOKbUiudBYidpNMYtb_ydYoQxNjbmYgD0AyC_cQ5K4Do06LLlcekkuqjIRJVh513V37Ea-uIjgsVCEsb0S5zsgnVjxUuEaE2yV9YlSnMjoT7ZJWf4TERewg2JUTHPBoM0Lt9xuO6ny8-dV11T8OOquVyxYs7vIto7g20ulZim156JOY3BA-rwDmoFZ1fwmC0Sh0xLaIKsBlO_1uj94CQopeqen5EoJMtivf-Ris1vTnaueyQcGRsBSjTpXUeNMtHatiQj_G1MFbZIw gunicorn-registry stdout | 2025-09-26 08:37:06,940 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:06,940 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:06,940 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:06,940 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:06,940 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg/alpine gunicorn-registry stdout | 2025-09-26 08:37:06,941 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,945 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,949 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,953 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,957 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,961 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,964 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,968 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-registry stdout | 2025-09-26 08:37:06,972 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['e3c29cd4-f2d6-45b5-b173-87393a34f870', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:06,975 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:06,975 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:06,975 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:06,976 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:06,976 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c27f23c5-a260-4258-b18b-7fa5cd87393a', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:06,976 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,976 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,977 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,977 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,977 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,977 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,977 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,977 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,977 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:06,977 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:06,977 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:06,977 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:06,977 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,977 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,977 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,977 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/c27f23c5-a260-4258-b18b-7fa5cd87393a?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c27f23c5-a260-4258-b18b-7fa5cd87393a', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c27f23c5-a260-4258-b18b-7fa5cd87393a?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c27f23c5-a260-4258-b18b-7fa5cd87393a', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:06,977 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,977 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,977 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,978 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,979 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:06,979 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c27f23c5-a260-4258-b18b-7fa5cd87393a gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083706Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:06,979 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083706Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | c6055612701d30a8df7ae8b56198028e999ec155176ee6322ebe7c5842bb314b gunicorn-registry stdout | 2025-09-26 08:37:06,979 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ec2beaee4765a790d5068321a51bd35fe400157bd7c3666e5023a5b53bc21d48 gunicorn-registry stdout | 2025-09-26 08:37:06,979 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,979 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:06,979 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:06,985 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c27f23c5-a260-4258-b18b-7fa5cd87393a?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:06,985 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95wk-2g7ab6-k4l', 'x-amz-id-2': 'mg0l95wk-2g7ab6-k4l', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:06,985 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/c27f23c5-a260-4258-b18b-7fa5cd87393a68d650b2d73ec60008f934ac' gunicorn-registry stdout | 2025-09-26 08:37:06,985 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,985 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:06,985 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,986 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l95wk-2g7ab6-k4l', 'HostId': 'mg0l95wk-2g7ab6-k4l', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95wk-2g7ab6-k4l', 'x-amz-id-2': 'mg0l95wk-2g7ab6-k4l', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c27f23c5-a260-4258-b18b-7fa5cd87393a', 'UploadId': '68d650b2d73ec60008f934ac'} gunicorn-registry stdout | 2025-09-26 08:37:06,986 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:06,986 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c27f23c5-a260-4258-b18b-7fa5cd87393a', 'UploadId': '68d650b2d73ec60008f934ac'} gunicorn-registry stdout | 2025-09-26 08:37:06,986 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,986 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,986 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,986 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,986 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,986 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,987 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:06,987 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:06,987 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:06,987 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:06,987 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,987 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,987 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,987 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/c27f23c5-a260-4258-b18b-7fa5cd87393a', 'query_string': {'uploadId': '68d650b2d73ec60008f934ac'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c27f23c5-a260-4258-b18b-7fa5cd87393a', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c27f23c5-a260-4258-b18b-7fa5cd87393a?uploadId=68d650b2d73ec60008f934ac', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c27f23c5-a260-4258-b18b-7fa5cd87393a', 'UploadId': '68d650b2d73ec60008f934ac'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:06,987 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,988 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,988 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,988 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,988 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:06,988 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c27f23c5-a260-4258-b18b-7fa5cd87393a gunicorn-registry stdout | uploadId=68d650b2d73ec60008f934ac gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083706Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:06,988 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083706Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | a27c085759f10729047678c6c0369e48365486602922bcd3178a4c80e2881075 gunicorn-registry stdout | 2025-09-26 08:37:06,988 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 40d889069c4ef6cbec1aa4f1935eb8f94053fc702e49cef8ffa77baf038df729 gunicorn-registry stdout | 2025-09-26 08:37:06,988 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,988 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:06,988 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:06,995 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c27f23c5-a260-4258-b18b-7fa5cd87393a?uploadId=68d650b2d73ec60008f934ac HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:06,995 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95wu-2lmuhh-o6a', 'x-amz-id-2': 'mg0l95wu-2lmuhh-o6a', 'Date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:06,995 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:06,996 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:06,996 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:06,996 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:06,996 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l95wu-2lmuhh-o6a', 'HostId': 'mg0l95wu-2lmuhh-o6a', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95wu-2lmuhh-o6a', 'x-amz-id-2': 'mg0l95wu-2lmuhh-o6a', 'date': 'Fri, 26 Sep 2025 08:37:06 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:06,996 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob e3c29cd4-f2d6-45b5-b173-87393a34f870 took 0.020599842071533203 seconds gunicorn-registry stdout | 2025-09-26 08:37:06,997 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['e3c29cd4-f2d6-45b5-b173-87393a34f870', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:07,000 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [2, 'e3c29cd4-f2d6-45b5-b173-87393a34f870', 241, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwMDhmYjAxMTE2ZGFlODcwMjkzNTBmZmZlYjFkMDBmN2RkMDUyMDU4NzE5NWM1Il19fTU1YjJmNzYwYjM1ZjQxNzEAAAAAAAAAAAYAAAAAAABn/RryCEForohhYGARA88IcitrjFF616DGz50O1xbpcpRiLg==', 9, '{"chunks": [["uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8", 0, 241]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 6, 681626), None, None, 46]) gunicorn-registry stdout | 2025-09-26 08:37:07,005 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:07,005 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:07,005 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:07,006 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:07,006 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/db/dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31'} gunicorn-registry stdout | 2025-09-26 08:37:07,006 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,007 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,007 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,007 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:07,007 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,007 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,007 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:07,007 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:07,007 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:07,007 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:07,007 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:07,007 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,007 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,007 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,007 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/db/dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/db/dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:07,007 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:07,007 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:07,008 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,008 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,008 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:07,008 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083707Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:07,008 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083707Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 8a733133d8c334c89f23a20c6f1c58b60010fef63fc87a7fd8aa148873415c36 gunicorn-registry stdout | 2025-09-26 08:37:07,008 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 8cf0b5b47283fe5b015d47038aca8ef7e48305786ccda41feca9952edf295c38 gunicorn-registry stdout | 2025-09-26 08:37:07,008 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,008 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:07,008 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:07,013 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:07,013 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95xd-2xcte6-1526', 'x-amz-id-2': 'mg0l95xd-2xcte6-1526', 'Content-Type': 'application/xml', 'Content-Length': '339', 'Date': 'Fri, 26 Sep 2025 08:37:07 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:07,013 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:07,013 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,013 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:07,013 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:07,013 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:07,013 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:07,013 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/db/dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31 gunicorn-registry stdout | 2025-09-26 08:37:07,014 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:07,014 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:07,014 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:07,014 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:07,014 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,014 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,014 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,014 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:07,014 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,015 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,015 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:07,015 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:07,015 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:07,015 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:07,015 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:07,015 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,015 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,015 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,016 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:07,016 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,016 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:07,016 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:07,016 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,016 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,016 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:07,016 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083707Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:07,016 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083707Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4d757f6ee3affde7d06930a854af814821ba6e33389f3fd5329eba91ea5b93ac gunicorn-registry stdout | 2025-09-26 08:37:07,016 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | c08c853e6395154164949990ae9fe13437d562062fcaed4a135bfb90d9e4befa gunicorn-registry stdout | 2025-09-26 08:37:07,016 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,016 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,016 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:07,017 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:07,017 [257] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:37:07,044 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:07,044 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95y8-3fw51n-2gh', 'x-amz-id-2': 'mg0l95y8-3fw51n-2gh', 'ETag': '"53322718ebdc1748c36dd9ac59b3279e-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:06 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:07 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:07,044 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:07,044 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,044 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:07,044 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:07,045 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/db/dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:07,045 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:07,045 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/db/dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:07,045 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/db/dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:07,045 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/db/dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/db/dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31', 'extra_args': {}, 'callbacks': [], 'size': 241} gunicorn-registry stdout | 2025-09-26 08:37:07,045 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,045 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,045 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,045 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,045 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,045 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,045 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:07,045 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,045 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,045 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:07,045 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:07,046 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:07,046 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:07,046 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:07,046 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,046 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,046 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,046 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/db/dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/db/dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:07,046 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,046 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:07,046 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:07,046 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,046 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,046 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:07,046 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/47cadfa2-0159-4a48-a8dc-410d4271ccc8 gunicorn-registry stdout | x-amz-date:20250926T083707Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:07,046 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083707Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ae09927908449029e34267dd9440376d3aede3dea6d1c663eb8639a920bc8eee gunicorn-registry stdout | 2025-09-26 08:37:07,047 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 92c4772b10df7c2fe330005bc6032f563c4e9d993a7b90452f6fcc5e01cb7dbf gunicorn-registry stdout | 2025-09-26 08:37:07,047 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,047 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,047 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:07,047 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:07,047 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:07,071 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:07,072 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l95yg-3k7akw-1e84', 'x-amz-id-2': 'mg0l95yg-3k7akw-1e84', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:07 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:07,072 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:07.000Z"53322718ebdc1748c36dd9ac59b3279e-1"' gunicorn-registry stdout | 2025-09-26 08:37:07,072 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,072 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:07,072 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:07,072 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:07,072 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:07,073 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob e3c29cd4-f2d6-45b5-b173-87393a34f870 with digest sha256:dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31 took 0.05977630615234375 seconds gunicorn-registry stdout | 2025-09-26 08:37:07,074 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['e3c29cd4-f2d6-45b5-b173-87393a34f870', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:07,077 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:07,079 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['d7873bc6-4118-430a-b483-9f08d2b41d65', 241, None, True, True, 'sha256:dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31']) gunicorn-registry stdout | 2025-09-26 08:37:07,080 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [47, 9]) gunicorn-registry stdout | 2025-09-26 08:37:07,082 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:07,084 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [2, 47, datetime.datetime(2025, 9, 26, 8, 37, 7, 84146), datetime.datetime(2025, 9, 26, 9, 37, 7, 84131)]) gunicorn-registry stdout | 2025-09-26 08:37:07,086 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [46]) gunicorn-registry stdout | 2025-09-26 08:37:07,090 [257] [DEBUG] [app] Ending request: urn:request:effbde57-78e0-45a4-9e6f-3a0b8abb345f (/v2/testorg/alpine/blobs/uploads/e3c29cd4-f2d6-45b5-b173-87393a34f870) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:effbde57-78e0-45a4-9e6f-3a0b8abb345f', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg/alpine/blobs/uploads/e3c29cd4-f2d6-45b5-b173-87393a34f870?digest=sha256:dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31', 'path': '/v2/testorg/alpine/blobs/uploads/e3c29cd4-f2d6-45b5-b173-87393a34f870', 'parameters': {'digest': 'sha256:dbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:07,090 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:07,090 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:07,091 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:07 +0000] "PUT /v2/testorg/alpine/blobs/uploads/e3c29cd4-f2d6-45b5-b173-87393a34f870?digest=sha256%3Adbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:07 +0000] "PUT /v2/testorg/alpine/blobs/uploads/e3c29cd4-f2d6-45b5-b173-87393a34f870?digest=sha256%3Adbeeaa840de093e1b95605ea87f1b4de22ec102327070084d581ec7bc1364c31 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.153 1849 0.153) gunicorn-registry stdout | 2025-09-26 08:37:08,135 [257] [DEBUG] [app] Starting request: urn:request:a515c0b7-405f-4e8c-ac17-3ec79d3ce9ff (/v2/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:08,135 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {} gunicorn-registry stdout | 2025-09-26 08:37:08,136 [257] [DEBUG] [auth.registry_jwt_auth] No auth header. gunicorn-registry stdout | 2025-09-26 08:37:08,136 [257] [DEBUG] [app] Ending request: urn:request:a515c0b7-405f-4e8c-ac17-3ec79d3ce9ff (/v2/) {'endpoint': 'v2.v2_support_enabled', 'request_id': 'urn:request:a515c0b7-405f-4e8c-ac17-3ec79d3ce9ff', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/', 'path': '/v2/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:08,136 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:08 +0000] "GET /v2/ HTTP/1.1" 401 4 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:08 +0000] "GET /v2/ HTTP/1.1" 401 4 "-" "skopeo/1.14.5" (0.002 538 0.002) gunicorn-registry stdout | 2025-09-26 08:37:08,259 [255] [DEBUG] [app] Starting request: urn:request:c4bee94d-222e-46b4-a824-ee3f0c4d2349 (/v2/auth) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:08,260 [255] [DEBUG] [auth.basic] Attempt to process basic auth header gunicorn-registry stdout | 2025-09-26 08:37:08,260 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) OR ("t1"."email" = %s)) LIMIT %s OFFSET %s', ['quay', 'quay', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,545 [255] [DEBUG] [auth.credentials] Successfully validated credentials for user quay gunicorn-registry stdout | 2025-09-26 08:37:08,546 [255] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-registry stdout | 2025-09-26 08:37:08,546 [255] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:08,546 [255] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-registry stdout | 2025-09-26 08:37:08,546 [255] [DEBUG] [endpoints.v2.v2auth] Request audience: quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com gunicorn-registry stdout | 2025-09-26 08:37:08,546 [255] [DEBUG] [endpoints.v2.v2auth] Scope request: ['repository:testorg2/alpine:pull,push'] gunicorn-registry stdout | 2025-09-26 08:37:08,547 [255] [DEBUG] [endpoints.v2.v2auth] Match: ('testorg2/alpine', 'testorg2/alpine', 'pull,push') gunicorn-registry stdout | 2025-09-26 08:37:08,548 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."username" = %s) LIMIT %s OFFSET %s', ['testorg2', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,552 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,556 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."username" = %s) LIMIT %s OFFSET %s', ['testorg2', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,560 [255] [DEBUG] [endpoints.v2.v2auth] Creating organization for: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:08,560 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) OR ("t1"."email" = %s)) LIMIT %s OFFSET %s', ['testorg2', 'quay+testorg2@quay.com', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,563 [255] [DEBUG] [data.model.user] Email and username are unique! gunicorn-registry stdout | 2025-09-26 08:37:08,563 [255] [DEBUG] [peewee] ('INSERT INTO "user" ("uuid", "username", "email", "verified", "organization", "robot", "invoice_email", "invalid_login_attempts", "last_invalid_login", "removed_tag_expiration_s", "enabled", "maximum_queued_builds_count", "creation_date") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "user"."id"', ['63e40972-14d3-4295-805d-e9a5bfb1a74b', 'testorg2', 'quay+testorg2@quay.com', False, False, False, False, 0, datetime.datetime(2025, 9, 26, 8, 37, 8, 563637), 1209600, True, None, datetime.datetime(2025, 9, 26, 8, 37, 8, 563641)]) gunicorn-registry stdout | 2025-09-26 08:37:08,565 [255] [DEBUG] [peewee] ('UPDATE "user" SET "uuid" = %s, "username" = %s, "email" = %s, "verified" = %s, "organization" = %s, "robot" = %s, "invoice_email" = %s, "invalid_login_attempts" = %s, "last_invalid_login" = %s, "removed_tag_expiration_s" = %s, "enabled" = %s, "maximum_queued_builds_count" = %s, "creation_date" = %s WHERE ("user"."id" = %s)', ['63e40972-14d3-4295-805d-e9a5bfb1a74b', 'testorg2', 'quay+testorg2@quay.com', False, True, False, False, 0, datetime.datetime(2025, 9, 26, 8, 37, 8, 563637), 1209600, True, None, datetime.datetime(2025, 9, 26, 8, 37, 8, 563641), 4]) gunicorn-registry stdout | 2025-09-26 08:37:08,567 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['admin', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,569 [255] [DEBUG] [peewee] ('INSERT INTO "team" ("name", "organization_id", "role_id", "description") VALUES (%s, %s, %s, %s) RETURNING "team"."id"', ['owners', 4, 1, '']) gunicorn-registry stdout | 2025-09-26 08:37:08,570 [255] [DEBUG] [peewee] ('SELECT 1 FROM "teammember" AS "t1" WHERE (("t1"."user_id" = %s) AND ("t1"."team_id" = %s)) LIMIT %s', [1, 3, 1]) gunicorn-registry stdout | 2025-09-26 08:37:08,572 [255] [DEBUG] [peewee] ('INSERT INTO "teammember" ("user_id", "team_id") VALUES (%s, %s) RETURNING "teammember"."id"', [1, 3]) gunicorn-registry stdout | 2025-09-26 08:37:08,575 [255] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-registry stdout | 2025-09-26 08:37:08,575 [255] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-registry stdout | 2025-09-26 08:37:08,575 [255] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-registry stdout | 2025-09-26 08:37:08,575 [255] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-registry stdout | 2025-09-26 08:37:08,576 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-registry stdout | 2025-09-26 08:37:08,580 [255] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-registry stdout | 2025-09-26 08:37:08,581 [255] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-registry stdout | 2025-09-26 08:37:08,581 [255] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-registry stdout | 2025-09-26 08:37:08,581 [255] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg', role='admin') gunicorn-registry stdout | 2025-09-26 08:37:08,581 [255] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg', role='admin') gunicorn-registry stdout | 2025-09-26 08:37:08,581 [255] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg', teamname='owners', role='admin') gunicorn-registry stdout | 2025-09-26 08:37:08,582 [255] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg2', role='admin') gunicorn-registry stdout | 2025-09-26 08:37:08,582 [255] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg2', role='admin') gunicorn-registry stdout | 2025-09-26 08:37:08,582 [255] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg2', teamname='owners', role='admin') gunicorn-registry stdout | 2025-09-26 08:37:08,582 [255] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-registry stdout | 2025-09-26 08:37:08,582 [255] [DEBUG] [endpoints.v2.v2auth] Creating repository: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:08,583 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") INNER JOIN "repositorykind" AS "t3" ON ("t1"."kind_id" = "t3"."id") WHERE (((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) AND ("t3"."name" = %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 'image', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,587 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."username" = %s) LIMIT %s OFFSET %s', ['testorg2', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,591 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,594 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:37:08,596 [255] [DEBUG] [peewee] ('INSERT INTO "repository" ("namespace_user_id", "name", "visibility_id", "description", "badge_token", "kind_id", "trust_enabled", "state") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "repository"."id"', [4, 'alpine', 2, None, '2e4ea78f-4525-4a26-85f7-42494fd86236', 1, False, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,599 [255] [DEBUG] [peewee] ('INSERT INTO "repositoryactioncount" ("repository_id", "count", "date") VALUES (%s, %s, %s) RETURNING "repositoryactioncount"."id"', [3, 0, datetime.date(2025, 9, 25)]) gunicorn-registry stdout | 2025-09-26 08:37:08,601 [255] [DEBUG] [peewee] ('INSERT INTO "repositorysearchscore" ("repository_id", "score") VALUES (%s, %s) RETURNING "repositorysearchscore"."id"', [3, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,602 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "role" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['admin', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,604 [255] [DEBUG] [peewee] ('INSERT INTO "repositorypermission" ("user_id", "repository_id", "role_id") VALUES (%s, %s, %s) RETURNING "repositorypermission"."id"', [1, 3, 1]) gunicorn-registry stdout | 2025-09-26 08:37:08,608 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."org_id", "t1"."uuid", "t1"."activating_user_id", "t1"."delegate_user_id", "t1"."delegate_team_id", "t1"."role_id" FROM "permissionprototype" AS "t1" WHERE ((("t1"."org_id" = %s) AND (("t1"."activating_user_id" = %s) OR ("t1"."activating_user_id" IS %s))) AND ("t1"."delegate_user_id" IS %s))', [4, 1, None, None]) gunicorn-registry stdout | 2025-09-26 08:37:08,612 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."org_id", "t1"."uuid", "t1"."activating_user_id", "t1"."delegate_user_id", "t1"."delegate_team_id", "t1"."role_id" FROM "permissionprototype" AS "t1" WHERE ((("t1"."org_id" = %s) AND (("t1"."activating_user_id" = %s) OR ("t1"."activating_user_id" IS %s))) AND ("t1"."delegate_team_id" IS %s))', [4, 1, None, None]) gunicorn-registry stdout | 2025-09-26 08:37:08,616 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,620 [255] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-registry stdout | 2025-09-26 08:37:08,620 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,631 [255] [DEBUG] [app] Ending request: urn:request:c4bee94d-222e-46b4-a824-ee3f0c4d2349 (/v2/auth) {'endpoint': 'v2.generate_registry_jwt', 'request_id': 'urn:request:c4bee94d-222e-46b4-a824-ee3f0c4d2349', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/auth?account=quay&scope=repository:testorg2/alpine:pull,push&service=quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com', 'path': '/v2/auth', 'parameters': {'account': 'quay', 'scope': 'repository:testorg2/alpine:pull,push', 'service': 'quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:08,631 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:08,631 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:08,632 [255] [INFO] [gunicorn.access] 10.129.4.11 - quay [26/Sep/2025:08:37:08 +0000] "GET /v2/auth?account=quay&scope=repository%3Atestorg2%2Falpine%3Apull%2Cpush&service=quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com HTTP/1.1" 200 1098 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - quay [26/Sep/2025:08:37:08 +0000] "GET /v2/auth?account=quay&scope=repository%3Atestorg2%2Falpine%3Apull%2Cpush&service=quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com HTTP/1.1" 200 1098 "-" "skopeo/1.14.5" (0.373 698 0.374) gunicorn-registry stdout | 2025-09-26 08:37:08,638 [255] [DEBUG] [data.userevent] Published user event docker-cli: {'action': 'push_start', 'namespace': 'testorg2', 'repository': 'alpine'} gunicorn-web stdout | 2025-09-26 08:37:08,719 [242] [DEBUG] [app] Starting request: urn:request:fb791cf9-5ea3-4cf6-868b-50ec3e330ba8 (/_storage_proxy_auth) {'X-Forwarded-For': '3.131.182.156'} gunicorn-web stdout | 2025-09-26 08:37:08,719 [242] [DEBUG] [storage.downloadproxy] Got token b'eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI3LCJpYXQiOjE3NTg4NzU4MjcsImV4cCI6MTc1ODg3NjQyNywic3ViIjoic3RvcmFnZXByb3h5IiwiYWNjZXNzIjpbeyJ0eXBlIjoic3RvcmFnZXByb3h5IiwidXJpIjoicXVheS1kYXRhc3RvcmUtZTI5YzM5OTQtNjJlYi00ZTlmLTk1NTAtYmFhMTFmODc0MDg0L2RhdGFzdG9yYWdlL3JlZ2lzdHJ5L3NoYTI1Ni80Ny80N2E3MGZkYzhhYzRjMTI3M2RlNjI2ZGM3NzEwZDNlMTljZmQ1YjlmM2UxMGNmYzRiMTQ2MDJiZGZmZmJmZmUxP0FXU0FjY2Vzc0tleUlkPUtxVUFodjYwQUdsQUREcTBNY0taJlNpZ25hdHVyZT1RU3E5RlRKd3JKJTJGQ21nZXIlMkJqaDloOGN3b01FJTNEJkV4cGlyZXM9MTc1ODg3NjQyNyIsImhvc3QiOiJzMy5vcGVuc2hpZnQtc3RvcmFnZS5zdmMuY2x1c3Rlci5sb2NhbDo0NDMiLCJzY2hlbWUiOiJodHRwcyJ9XSwiY29udGV4dCI6e319.jjOtxq_JtiKq_W-VbvoViKzb4EtEq5DpvLTkz79qNx-jq2q6XvE76T3g9_T7E6QQfbbgmq9_MoRaekXb1Do0_hwAosdq2SQzejujq51oYXaukcU_P0SCBLgpL3FHKkdhTV6mvSO29KooMyBXLdLqg4BH1UCOt7Q0CCgUUMtArnC6HKYN02h76h_qeCfMrlZ2jzmW0YRoH2ZMxHd--AuQ1-jx-6ji7ifnMCOPYpZkHk8sEEp71J_DSMRVKyKAh9a069lHdXUklqoEXOhY2Qesv3HkYiI7SD94vTWB8TTENZIO4F4IdgwXsVQbJ8JrgA1G6uCggnC6s-PGvRDsWMuF9g' for storage proxy auth request /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ESTNMQ0pwWVhRaU9qRTNOVGc0TnpVNE1qY3NJbVY0Y0NJNk1UYzFPRGczTmpReU55d2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4ME55ODBOMkUzTUdaa1l6aGhZelJqTVRJM00yUmxOakkyWkdNM056RXdaRE5sTVRsalptUTFZamxtTTJVeE1HTm1ZelJpTVRRMk1ESmlaR1ptWm1KbVptVXhQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFSVTNFNVJsUktkM0pLSlRKR1EyMW5aWElsTWtKcWFEbG9PR04zYjAxRkpUTkVKa1Y0Y0dseVpYTTlNVGMxT0RnM05qUXlOeUlzSW1odmMzUWlPaUp6TXk1dmNHVnVjMmhwWm5RdGMzUnZjbUZuWlM1emRtTXVZMngxYzNSbGNpNXNiMk5oYkRvME5ETWlMQ0p6WTJobGJXVWlPaUpvZEhSd2N5SjlYU3dpWTI5dWRHVjRkQ0k2ZTMxOS5qak90eHFfSnRpS3FfVy1WYnZvVmlLemI0RXRFcTVEcHZMVGt6NzlxTngtanEycTZYdkU3NlQzZzlfVDdFNlFRZmJiZ21xOV9Nb1JhZWtYYjFEbzBfaHdBb3NkcTJTUXplanVqcTUxb1lYYXVrY1VfUDBTQ0JMZ3BMM0ZIS2tkaFRWNm12U08yOUtvb015QlhMZExxZzRCSDFVQ090N1EwQ0NnVVVNdEFybkM2SEtZTjAyaDc2aF9xZUNmTXJsWjJqem1XMFlSb0gyWk14SGQtLUF1UTEtangtNmppN2lmbk1DT1BZcFprSGs4c0VFcDcxSl9EU01SVkt5S0FoOWEwNjlsSGRYVWtscW9FWE9oWTJRZXN2M0hrWWlJN1NEOTR2VFdCOFRURU5aSU80RjRJZGd3WHNWUWJKOEpyZ0ExRzZ1Q2dnbkM2cy1QR3ZSRHNXTXVGOWc=/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/47/47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=QSq9FTJwrJ%2FCmger%2Bjh9h8cwoME%3D&Expires=1758876427 with parts ['ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ESTNMQ0pwWVhRaU9qRTNOVGc0TnpVNE1qY3NJbVY0Y0NJNk1UYzFPRGczTmpReU55d2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4ME55ODBOMkUzTUdaa1l6aGhZelJqTVRJM00yUmxOakkyWkdNM056RXdaRE5sTVRsalptUTFZamxtTTJVeE1HTm1ZelJpTVRRMk1ESmlaR1ptWm1KbVptVXhQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFSVTNFNVJsUktkM0pLSlRKR1EyMW5aWElsTWtKcWFEbG9PR04zYjAxRkpUTkVKa1Y0Y0dseVpYTTlNVGMxT0RnM05qUXlOeUlzSW1odmMzUWlPaUp6TXk1dmNHVnVjMmhwWm5RdGMzUnZjbUZuWlM1emRtTXVZMngxYzNSbGNpNXNiMk5oYkRvME5ETWlMQ0p6WTJobGJXVWlPaUpvZEhSd2N5SjlYU3dpWTI5dWRHVjRkQ0k2ZTMxOS5qak90eHFfSnRpS3FfVy1WYnZvVmlLemI0RXRFcTVEcHZMVGt6NzlxTngtanEycTZYdkU3NlQzZzlfVDdFNlFRZmJiZ21xOV9Nb1JhZWtYYjFEbzBfaHdBb3NkcTJTUXplanVqcTUxb1lYYXVrY1VfUDBTQ0JMZ3BMM0ZIS2tkaFRWNm12U08yOUtvb015QlhMZExxZzRCSDFVQ090N1EwQ0NnVVVNdEFybkM2SEtZTjAyaDc2aF9xZUNmTXJsWjJqem1XMFlSb0gyWk14SGQtLUF1UTEtangtNmppN2lmbk1DT1BZcFprSGs4c0VFcDcxSl9EU01SVkt5S0FoOWEwNjlsSGRYVWtscW9FWE9oWTJRZXN2M0hrWWlJN1NEOTR2VFdCOFRURU5aSU80RjRJZGd3WHNWUWJKOEpyZ0ExRzZ1Q2dnbkM2cy1QR3ZSRHNXTXVGOWc=', 'https', 's3.openshift-storage.svc.cluster.local:443', 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/47/47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=QSq9FTJwrJ%2FCmger%2Bjh9h8cwoME%3D&Expires=1758876427'] gunicorn-web stdout | 2025-09-26 08:37:08,720 [242] [DEBUG] [app] Ending request: urn:request:fb791cf9-5ea3-4cf6-868b-50ec3e330ba8 (/_storage_proxy_auth) {'endpoint': '_storage_proxy_auth', 'request_id': 'urn:request:fb791cf9-5ea3-4cf6-868b-50ec3e330ba8', 'remote_addr': '3.131.182.156', 'http_method': 'GET', 'original_url': 'https://web_app_server/_storage_proxy_auth', 'path': '/_storage_proxy_auth', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Go-http-client/1.1'} gunicorn-web stdout | 2025-09-26 08:37:08,721 [242] [INFO] [gunicorn.access] 3.131.182.156 - - [26/Sep/2025:08:37:08 +0000] "GET /_storage_proxy_auth HTTP/1.0" 200 2 "-" "Go-http-client/1.1" gunicorn-registry stdout | 2025-09-26 08:37:08,948 [250] [DEBUG] [app] Starting request: urn:request:60ffa24c-7f12-43df-a7f8-3666106cc938 (/v2/testorg2/alpine/blobs/uploads/7d049b3d-737b-450f-9ef5-0e1d718803b5) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:08,949 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '7d049b3d-737b-450f-9ef5-0e1d718803b5', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:08,949 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:08,949 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:08,950 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:08,950 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:08,950 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:08,950 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:08,950 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:08,952 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,956 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,960 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:08 +0000] "GET /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ESTNMQ0pwWVhRaU9qRTNOVGc0TnpVNE1qY3NJbVY0Y0NJNk1UYzFPRGczTmpReU55d2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4ME55ODBOMkUzTUdaa1l6aGhZelJqTVRJM00yUmxOakkyWkdNM056RXdaRE5sTVRsalptUTFZamxtTTJVeE1HTm1ZelJpTVRRMk1ESmlaR1ptWm1KbVptVXhQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFSVTNFNVJsUktkM0pLSlRKR1EyMW5aWElsTWtKcWFEbG9PR04zYjAxRkpUTkVKa1Y0Y0dseVpYTTlNVGMxT0RnM05qUXlOeUlzSW1odmMzUWlPaUp6TXk1dmNHVnVjMmhwWm5RdGMzUnZjbUZuWlM1emRtTXVZMngxYzNSbGNpNXNiMk5oYkRvME5ETWlMQ0p6WTJobGJXVWlPaUpvZEhSd2N5SjlYU3dpWTI5dWRHVjRkQ0k2ZTMxOS5qak90eHFfSnRpS3FfVy1WYnZvVmlLemI0RXRFcTVEcHZMVGt6NzlxTngtanEycTZYdkU3NlQzZzlfVDdFNlFRZmJiZ21xOV9Nb1JhZWtYYjFEbzBfaHdBb3NkcTJTUXplanVqcTUxb1lYYXVrY1VfUDBTQ0JMZ3BMM0ZIS2tkaFRWNm12U08yOUtvb015QlhMZExxZzRCSDFVQ090N1EwQ0NnVVVNdEFybkM2SEtZTjAyaDc2aF9xZUNmTXJsWjJqem1XMFlSb0gyWk14SGQtLUF1UTEtangtNmppN2lmbk1DT1BZcFprSGs4c0VFcDcxSl9EU01SVkt5S0FoOWEwNjlsSGRYVWtscW9FWE9oWTJRZXN2M0hrWWlJN1NEOTR2VFdCOFRURU5aSU80RjRJZGd3WHNWUWJKOEpyZ0ExRzZ1Q2dnbkM2cy1QR3ZSRHNXTXVGOWc=/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/47/47a70fdc8ac4c1273de626dc7710d3e19cfd5b9f3e10cfc4b14602bdfffbffe1?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=QSq9FTJwrJ%2FCmger%2Bjh9h8cwoME%3D&Expires=1758876427 HTTP/1.1" 200 3616726 "-" "Go-http-client/1.1" (0.242 2417 0.239) gunicorn-registry stdout | 2025-09-26 08:37:08,964 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,968 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,972 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,975 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,979 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:08,982 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['7d049b3d-737b-450f-9ef5-0e1d718803b5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:08,986 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:08,986 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:08,986 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:08,987 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:08,987 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:08,987 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:08,987 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:08,987 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:08,987 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:08,987 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:08,987 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:08,987 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:08,987 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:08,987 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:08,987 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:08,987 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:08,987 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:08,988 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:08,988 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:08,988 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:08,988 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:08,988 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:08,988 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:08,988 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:08,988 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:08,988 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:08,988 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083708Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:08,988 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083708Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | dbfc6703a83049de80d168b4940e40d7bc44f221d5685d4dba4e4de68d1754cc gunicorn-registry stdout | 2025-09-26 08:37:08,988 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | dd018c1db3990f73fc77160c97e0945a89e8a45d42a6c7393c5506aead0182e5 gunicorn-registry stdout | 2025-09-26 08:37:08,988 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:08,989 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:08,990 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:08,996 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:08,996 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l97gf-2m5prx-1agn', 'x-amz-id-2': 'mg0l97gf-2m5prx-1agn', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:08 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:08,997 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb68d650b4d73ec60008f934af' gunicorn-registry stdout | 2025-09-26 08:37:08,997 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:08,997 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:08,997 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:08,997 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l97gf-2m5prx-1agn', 'HostId': 'mg0l97gf-2m5prx-1agn', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l97gf-2m5prx-1agn', 'x-amz-id-2': 'mg0l97gf-2m5prx-1agn', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:08 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb', 'UploadId': '68d650b4d73ec60008f934af'} gunicorn-registry stdout | 2025-09-26 08:37:08,997 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload proxycacheblobworker stdout | 2025-09-26 08:37:09,200 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} gunicorn-registry stdout | 2025-09-26 08:37:09,273 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:09,274 [250] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:09,275 [250] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb', 'UploadId': '68d650b4d73ec60008f934af', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dae71a0>, 'ContentLength': 3799689} gunicorn-registry stdout | 2025-09-26 08:37:09,275 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,275 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,275 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,275 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,275 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,275 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,275 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,275 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,275 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:09,275 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:09,275 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:09,275 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:09,276 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,284 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,284 [250] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:09,284 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,284 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,284 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb', 'query_string': {'uploadId': '68d650b4d73ec60008f934af', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '3799689', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'HG5k4scFlejKL1WapIzyeQ==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dae71a0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb?uploadId=68d650b4d73ec60008f934af&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb', 'UploadId': '68d650b4d73ec60008f934af', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dae71a0>, 'ContentLength': 3799689}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:09,285 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,285 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,285 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,285 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,285 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:09,285 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb gunicorn-registry stdout | partNumber=1&uploadId=68d650b4d73ec60008f934af gunicorn-registry stdout | content-length:3799689 gunicorn-registry stdout | content-md5:HG5k4scFlejKL1WapIzyeQ== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083709Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:09,285 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083709Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | afe7673fa6fd9a893ef3cd34dc349c49493a25f534845946674d54b19eba16fa gunicorn-registry stdout | 2025-09-26 08:37:09,285 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 8fd9b280bd8032a6fd95b16cc8d2e26e85b3f82d28be07cd61f0399a188aeed6 gunicorn-registry stdout | 2025-09-26 08:37:09,286 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,286 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:09,286 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:09,287 [250] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:09,288 [250] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. buildlogsarchiver stdout | 2025-09-26 08:37:09,351 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:37:09,352 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:39.351551+00:00 (in 29.999506 seconds) buildlogsarchiver stdout | 2025-09-26 08:37:09,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:39 GMT)" (scheduled at 2025-09-26 08:37:09.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:37:09,359 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 37, 9, 352370), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:37:09,377 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:37:09,377 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:37:09,377 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:39 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:37:09,439 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb?uploadId=68d650b4d73ec60008f934af&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:09,440 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l97on-7iwt9c-m20', 'x-amz-id-2': 'mg0l97on-7iwt9c-m20', 'ETag': '"1c6e64e2c70595e8ca2f559aa48cf279"', 'Date': 'Fri, 26 Sep 2025 08:37:09 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:09,440 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:09,440 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,441 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:09,441 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,441 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l97on-7iwt9c-m20', 'HostId': 'mg0l97on-7iwt9c-m20', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l97on-7iwt9c-m20', 'x-amz-id-2': 'mg0l97on-7iwt9c-m20', 'etag': '"1c6e64e2c70595e8ca2f559aa48cf279"', 'date': 'Fri, 26 Sep 2025 08:37:09 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"1c6e64e2c70595e8ca2f559aa48cf279"'} gunicorn-registry stdout | 2025-09-26 08:37:09,441 [250] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb', 'UploadId': '68d650b4d73ec60008f934af', 'MultipartUpload': {'Parts': [{'ETag': '"1c6e64e2c70595e8ca2f559aa48cf279"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:09,441 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,441 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,441 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,441 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,441 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,441 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,441 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,442 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:09,442 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:09,442 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:09,442 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:09,442 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,442 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,442 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,442 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb', 'query_string': {'uploadId': '68d650b4d73ec60008f934af'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"1c6e64e2c70595e8ca2f559aa48cf279"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb?uploadId=68d650b4d73ec60008f934af', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb', 'UploadId': '68d650b4d73ec60008f934af', 'MultipartUpload': {'Parts': [{'ETag': '"1c6e64e2c70595e8ca2f559aa48cf279"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:09,443 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,443 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,443 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,443 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,443 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:09,443 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb gunicorn-registry stdout | uploadId=68d650b4d73ec60008f934af gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:fe12729c2bbe0f600334b62e9e1b0a7c153c01690e93c6c1b0cd1db26a56239d gunicorn-registry stdout | x-amz-date:20250926T083709Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | fe12729c2bbe0f600334b62e9e1b0a7c153c01690e93c6c1b0cd1db26a56239d gunicorn-registry stdout | 2025-09-26 08:37:09,443 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083709Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | e3770c69e5e916e2081cd1a2cf22f75074532806bf8e14b1ee6dacbdfa820520 gunicorn-registry stdout | 2025-09-26 08:37:09,444 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 69ad2f72cef16d5c6ce34813917666981c4236670e662203fa6c82dc2b072513 gunicorn-registry stdout | 2025-09-26 08:37:09,444 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,444 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:09,444 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:09,460 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb?uploadId=68d650b4d73ec60008f934af HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:09,460 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l97t2-a59p8p-wm', 'x-amz-id-2': 'mg0l97t2-a59p8p-wm', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:09 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:09,460 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb"380389293549eb7711405f1a9fc98d27-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb?uploadId=68d650b4d73ec60008f934af' gunicorn-registry stdout | 2025-09-26 08:37:09,460 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,461 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,461 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:09,461 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,461 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l97t2-a59p8p-wm', 'HostId': 'mg0l97t2-a59p8p-wm', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l97t2-a59p8p-wm', 'x-amz-id-2': 'mg0l97t2-a59p8p-wm', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:09 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb?uploadId=68d650b4d73ec60008f934af', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb', 'ETag': '"380389293549eb7711405f1a9fc98d27-1"'} gunicorn-registry stdout | 2025-09-26 08:37:09,461 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:09,462 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:09,462 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 3799689 bytes to blob 7d049b3d-737b-450f-9ef5-0e1d718803b5 took 0.4767289161682129 seconds gunicorn-registry stdout | 2025-09-26 08:37:09,463 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['7d049b3d-737b-450f-9ef5-0e1d718803b5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,468 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '7d049b3d-737b-450f-9ef5-0e1d718803b5', 3799689, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENw/+knH2UALIMANO2O/wf8b6OAb1PH8/HHHr7/uuH/7Vr1JHf8ob5svnX/H3ke/jB53//pLne5y12+rfx/AQAA/wkAAAAAAAAAANTPAQAAAADefdA8ptcY8IjhKvQNtJRkH2xlUVtYJp0svxOgT2tw2pRiLg==', 9, '{"chunks": [["uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb", 0, 3799689]]}', 1, 8596480, datetime.datetime(2025, 9, 26, 8, 37, 8, 903726), None, None, 47]) gunicorn-registry stdout | 2025-09-26 08:37:09,473 [250] [DEBUG] [app] Ending request: urn:request:60ffa24c-7f12-43df-a7f8-3666106cc938 (/v2/testorg2/alpine/blobs/uploads/7d049b3d-737b-450f-9ef5-0e1d718803b5) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:60ffa24c-7f12-43df-a7f8-3666106cc938', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/7d049b3d-737b-450f-9ef5-0e1d718803b5', 'path': '/v2/testorg2/alpine/blobs/uploads/7d049b3d-737b-450f-9ef5-0e1d718803b5', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:09,473 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:09,473 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:09,474 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:09 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/7d049b3d-737b-450f-9ef5-0e1d718803b5 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:09 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/7d049b3d-737b-450f-9ef5-0e1d718803b5 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.528 3801469 0.527) gunicorn-registry stdout | 2025-09-26 08:37:09,516 [250] [DEBUG] [app] Starting request: urn:request:b8f486e9-9cce-4919-b84d-ddde5f3d9c7b (/v2/testorg2/alpine/blobs/uploads/7d049b3d-737b-450f-9ef5-0e1d718803b5) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:09,516 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '7d049b3d-737b-450f-9ef5-0e1d718803b5', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:09,516 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:09,516 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:09,518 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:09,518 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:09,518 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:09,518 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:09,519 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:09,520 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,524 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,527 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,531 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,534 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,539 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,543 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,547 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:09,550 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['7d049b3d-737b-450f-9ef5-0e1d718803b5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,553 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:09,553 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:09,554 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:09,554 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:09,555 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/055cb0eb-2420-4a99-8a56-ec23b9ad64b7', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:09,555 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,555 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,555 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,555 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,555 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,555 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,555 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,555 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,555 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:09,555 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:09,555 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:09,555 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:09,555 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,555 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,555 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,555 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/055cb0eb-2420-4a99-8a56-ec23b9ad64b7?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/055cb0eb-2420-4a99-8a56-ec23b9ad64b7', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/055cb0eb-2420-4a99-8a56-ec23b9ad64b7?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/055cb0eb-2420-4a99-8a56-ec23b9ad64b7', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:09,556 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,556 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,556 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,556 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,556 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:09,556 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/055cb0eb-2420-4a99-8a56-ec23b9ad64b7 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083709Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:09,556 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083709Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 31a1275611a641b874988fbc9f00a50fb94cd80e215431ff7d41e0cc62431464 gunicorn-registry stdout | 2025-09-26 08:37:09,556 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ead54e7501fec7494bee80e9e7559074ac0962150a9e3b84e7e5443e8a0d729b gunicorn-registry stdout | 2025-09-26 08:37:09,556 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,556 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:09,556 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:09,562 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/055cb0eb-2420-4a99-8a56-ec23b9ad64b7?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:09,562 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l97w5-bzoyr7-10p9', 'x-amz-id-2': 'mg0l97w5-bzoyr7-10p9', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:09 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:09,562 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/055cb0eb-2420-4a99-8a56-ec23b9ad64b768d650b5d73ec60008f934b5' gunicorn-registry stdout | 2025-09-26 08:37:09,562 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,562 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:09,562 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,562 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l97w5-bzoyr7-10p9', 'HostId': 'mg0l97w5-bzoyr7-10p9', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l97w5-bzoyr7-10p9', 'x-amz-id-2': 'mg0l97w5-bzoyr7-10p9', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:09 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/055cb0eb-2420-4a99-8a56-ec23b9ad64b7', 'UploadId': '68d650b5d73ec60008f934b5'} gunicorn-registry stdout | 2025-09-26 08:37:09,562 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:09,563 [250] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/055cb0eb-2420-4a99-8a56-ec23b9ad64b7', 'UploadId': '68d650b5d73ec60008f934b5'} gunicorn-registry stdout | 2025-09-26 08:37:09,563 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,563 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,563 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,563 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,563 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,563 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,563 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:09,563 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:09,563 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:09,564 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:09,564 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,564 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,564 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,564 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/055cb0eb-2420-4a99-8a56-ec23b9ad64b7', 'query_string': {'uploadId': '68d650b5d73ec60008f934b5'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/055cb0eb-2420-4a99-8a56-ec23b9ad64b7', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/055cb0eb-2420-4a99-8a56-ec23b9ad64b7?uploadId=68d650b5d73ec60008f934b5', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/055cb0eb-2420-4a99-8a56-ec23b9ad64b7', 'UploadId': '68d650b5d73ec60008f934b5'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:09,564 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,564 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,564 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,565 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,565 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:09,565 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/055cb0eb-2420-4a99-8a56-ec23b9ad64b7 gunicorn-registry stdout | uploadId=68d650b5d73ec60008f934b5 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083709Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:09,565 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083709Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 726db2a31c430cfecd51bea450fdec2f37958c8dec5091a29b2153db9bf20475 gunicorn-registry stdout | 2025-09-26 08:37:09,565 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ce3d8633d22fc50ea8e910bc688542ad46ff4d3688e8023013f1d45fb3e16536 gunicorn-registry stdout | 2025-09-26 08:37:09,565 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,565 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:09,565 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:09,571 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/055cb0eb-2420-4a99-8a56-ec23b9ad64b7?uploadId=68d650b5d73ec60008f934b5 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:09,571 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l97we-c4rcr3-1d67', 'x-amz-id-2': 'mg0l97we-c4rcr3-1d67', 'Date': 'Fri, 26 Sep 2025 08:37:09 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:09,571 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:09,571 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,571 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:09,571 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,571 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l97we-c4rcr3-1d67', 'HostId': 'mg0l97we-c4rcr3-1d67', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l97we-c4rcr3-1d67', 'x-amz-id-2': 'mg0l97we-c4rcr3-1d67', 'date': 'Fri, 26 Sep 2025 08:37:09 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:09,572 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 7d049b3d-737b-450f-9ef5-0e1d718803b5 took 0.01798701286315918 seconds gunicorn-registry stdout | 2025-09-26 08:37:09,572 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['7d049b3d-737b-450f-9ef5-0e1d718803b5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,576 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '7d049b3d-737b-450f-9ef5-0e1d718803b5', 3799689, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENw/+knH2UALIMANO2O/wf8b6OAb1PH8/HHHr7/uuH/7Vr1JHf8ob5svnX/H3ke/jB53//pLne5y12+rfx/AQAA/wkAAAAAAAAAANTPAQAAAADefdA8ptcY8IjhKvQNtJRkH2xlUVtYJp0svxOgT2tw2pRiLg==', 9, '{"chunks": [["uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb", 0, 3799689]]}', 2, 8596480, datetime.datetime(2025, 9, 26, 8, 37, 8, 903726), None, None, 47]) gunicorn-registry stdout | 2025-09-26 08:37:09,580 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:09,580 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:09,580 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:09,581 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:09,581 [250] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8'} gunicorn-registry stdout | 2025-09-26 08:37:09,581 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,581 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,581 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,581 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,582 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,582 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,582 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,582 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:09,582 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:09,582 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:09,582 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:09,582 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,582 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,582 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,582 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:09,582 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,582 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,582 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,582 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,583 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:09,583 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083709Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:09,583 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083709Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 63d05016a78534cf667499139ba4c6ccdb7b66ec0e78554d6969cd3f96789005 gunicorn-registry stdout | 2025-09-26 08:37:09,583 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 8e34375afb7fa0945c339ccb411b3bea7389e4c1dc3460203cbe0effcf7ab162 gunicorn-registry stdout | 2025-09-26 08:37:09,583 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,583 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:09,584 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:09,588 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:09,588 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l97ww-cfpeop-lux', 'x-amz-id-2': 'mg0l97ww-cfpeop-lux', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:09 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:09,588 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:09,588 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,588 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:09,588 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,589 [250] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:09,589 [250] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:09,589 [250] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8 gunicorn-registry stdout | 2025-09-26 08:37:09,589 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:09,590 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:09,590 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:09,590 [250] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:09,590 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,590 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,590 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,590 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,590 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,590 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,590 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,590 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:09,590 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:09,590 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:09,590 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:09,590 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,590 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,590 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,590 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:09,591 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,591 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,591 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,591 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,591 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,591 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:09,591 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083709Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:09,591 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083709Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 0aa1859f53b6b8e8ba45f954c5f939c38745a78adb4c2227564517835fcd41dd gunicorn-registry stdout | 2025-09-26 08:37:09,591 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 134e5a8e5a292a50070bb715ea0ef06e60073ab8381146de6f7548ba60d2ef56 gunicorn-registry stdout | 2025-09-26 08:37:09,591 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,591 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,591 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:09,591 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:09,595 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:09,595 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l97x4-ckjd83-y73', 'x-amz-id-2': 'mg0l97x4-ckjd83-y73', 'ETag': '"380389293549eb7711405f1a9fc98d27-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:09 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '3799689', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:09 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:09,596 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:09,596 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,596 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:09,596 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,596 [250] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:09,596 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:09,596 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:09,596 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:09,597 [250] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8', 'extra_args': {}, 'callbacks': [], 'size': 3799689} gunicorn-registry stdout | 2025-09-26 08:37:09,597 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,597 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,597 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,597 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,597 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,597 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,597 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,597 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,597 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,597 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,597 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:09,597 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:09,597 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:09,597 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:09,597 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,597 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,597 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,597 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:09,598 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,598 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,598 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,598 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,598 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,598 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:09,598 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/99bc7e43-e2ae-4b71-a497-27528eeaf2eb gunicorn-registry stdout | x-amz-date:20250926T083709Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:09,598 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083709Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 6d4acab9cf8974107b0021a3b0f5c6b52f96b8c341bdeb50484f2d7001fd9320 gunicorn-registry stdout | 2025-09-26 08:37:09,598 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6e5d36dbb70c91f62be44e49204d8a8e82d3392ba7f5dd8321da48c66fdb311f gunicorn-registry stdout | 2025-09-26 08:37:09,598 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,598 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,598 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:09,598 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:09,599 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:09,624 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:09,625 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l97xc-coquug-gxd', 'x-amz-id-2': 'mg0l97xc-coquug-gxd', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:09 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:09,625 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:09.000Z"380389293549eb7711405f1a9fc98d27-1"' gunicorn-registry stdout | 2025-09-26 08:37:09,625 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,625 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,625 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:09,625 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,625 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:09,626 [250] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 7d049b3d-737b-450f-9ef5-0e1d718803b5 with digest sha256:9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8 took 0.03719353675842285 seconds gunicorn-registry stdout | 2025-09-26 08:37:09,627 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['7d049b3d-737b-450f-9ef5-0e1d718803b5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,629 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,631 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['ad096286-57d1-4f7f-8ac5-6eab9aae39ae', 3799689, 8596480, True, True, 'sha256:9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8']) gunicorn-registry stdout | 2025-09-26 08:37:09,633 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [48, 9]) gunicorn-registry stdout | 2025-09-26 08:37:09,635 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,637 [250] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 48, datetime.datetime(2025, 9, 26, 8, 37, 9, 636986), datetime.datetime(2025, 9, 26, 9, 37, 9, 636969)]) gunicorn-registry stdout | 2025-09-26 08:37:09,639 [250] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [47]) gunicorn-registry stdout | 2025-09-26 08:37:09,643 [250] [DEBUG] [app] Ending request: urn:request:b8f486e9-9cce-4919-b84d-ddde5f3d9c7b (/v2/testorg2/alpine/blobs/uploads/7d049b3d-737b-450f-9ef5-0e1d718803b5) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:b8f486e9-9cce-4919-b84d-ddde5f3d9c7b', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/7d049b3d-737b-450f-9ef5-0e1d718803b5?digest=sha256:9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8', 'path': '/v2/testorg2/alpine/blobs/uploads/7d049b3d-737b-450f-9ef5-0e1d718803b5', 'parameters': {'digest': 'sha256:9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:09,643 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:09,643 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:09,643 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:09 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/7d049b3d-737b-450f-9ef5-0e1d718803b5?digest=sha256%3A9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:09 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/7d049b3d-737b-450f-9ef5-0e1d718803b5?digest=sha256%3A9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.128 1853 0.128) gunicorn-registry stdout | 2025-09-26 08:37:09,756 [250] [DEBUG] [app] Starting request: urn:request:e627b152-e129-4dc6-8da3-939798660d6b (/v2/testorg2/alpine/blobs/sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:09,756 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:09,756 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:09,756 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:09,757 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:09,757 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:09,757 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:09,757 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:09,757 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:09,758 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,762 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,765 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:09,765 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516_2 gunicorn-registry stdout | 2025-09-26 08:37:09,766 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:09,766 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,770 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,773 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,778 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,781 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,784 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516_2: None gunicorn-registry stdout | 2025-09-26 08:37:09,784 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516_2: None gunicorn-registry stdout | 2025-09-26 08:37:09,785 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:09,785 [250] [DEBUG] [app] Ending request: urn:request:e627b152-e129-4dc6-8da3-939798660d6b (/v2/testorg2/alpine/blobs/sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:e627b152-e129-4dc6-8da3-939798660d6b', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'path': '/v2/testorg2/alpine/blobs/sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:09,785 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:09,785 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:09,785 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:09 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:09 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.030 1718 0.030) gunicorn-registry stdout | 2025-09-26 08:37:09,883 [250] [DEBUG] [app] Starting request: urn:request:894971af-d79d-4d6c-a7d9-1186bf2b26e6 (/v2/testorg2/alpine/blobs/uploads/f9793486-e186-4fab-a586-33241e2833da) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:09,884 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'f9793486-e186-4fab-a586-33241e2833da', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:09,884 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:09,884 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:09,885 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:09,885 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:09,885 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:09,885 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:09,885 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:09,886 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,890 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,893 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,897 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,901 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,904 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,908 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,912 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:09,916 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['f9793486-e186-4fab-a586-33241e2833da', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:09,919 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:09,919 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:09,919 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:09,922 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:09,923 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:09,923 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,923 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,923 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,923 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,923 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,923 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,923 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,923 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,923 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:09,923 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:09,923 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:09,923 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:09,924 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,924 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,924 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,924 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:09,924 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,924 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,924 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,924 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,924 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:09,924 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083709Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:09,924 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083709Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 0035c2a6d0e953591ca2602b9f903337e3ee5c548442eff1e4d814f1c179ee54 gunicorn-registry stdout | 2025-09-26 08:37:09,924 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 74ce8da348dd35ee79f9680adcdf34c0a981a3f3ed166546404eb1f51d07a806 gunicorn-registry stdout | 2025-09-26 08:37:09,925 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,925 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:09,925 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:09,930 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:09,930 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l986e-1jmy78-pwg', 'x-amz-id-2': 'mg0l986e-1jmy78-pwg', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:09 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:09,930 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab68d650b5d73ec60008f934b8' gunicorn-registry stdout | 2025-09-26 08:37:09,930 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,931 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:09,931 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,931 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l986e-1jmy78-pwg', 'HostId': 'mg0l986e-1jmy78-pwg', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l986e-1jmy78-pwg', 'x-amz-id-2': 'mg0l986e-1jmy78-pwg', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:09 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab', 'UploadId': '68d650b5d73ec60008f934b8'} gunicorn-registry stdout | 2025-09-26 08:37:09,931 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:09,931 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:09,931 [250] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:09,932 [250] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab', 'UploadId': '68d650b5d73ec60008f934b8', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50db26430>, 'ContentLength': 581} gunicorn-registry stdout | 2025-09-26 08:37:09,932 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,932 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,932 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,932 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,932 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,932 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,932 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,932 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,932 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:09,932 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:09,932 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:09,932 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:09,932 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,932 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,933 [250] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:09,933 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,933 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,933 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab', 'query_string': {'uploadId': '68d650b5d73ec60008f934b8', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '581', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'nVGGXGw77GwGhEor3gHsKQ==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50db26430>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab?uploadId=68d650b5d73ec60008f934b8&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab', 'UploadId': '68d650b5d73ec60008f934b8', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50db26430>, 'ContentLength': 581}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:09,933 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,933 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:09,933 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,933 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,933 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:09,933 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab gunicorn-registry stdout | partNumber=1&uploadId=68d650b5d73ec60008f934b8 gunicorn-registry stdout | content-length:581 gunicorn-registry stdout | content-md5:nVGGXGw77GwGhEor3gHsKQ== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083709Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:09,933 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083709Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | c493311ea16dcc26049d247752114ad9a1d25888d462445c11aa2d0acfab2d3a gunicorn-registry stdout | 2025-09-26 08:37:09,933 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 076147dcc7840d6e4bfd32d49cd1b911eff78697918a04bc9cbdfaeff10fc42c gunicorn-registry stdout | 2025-09-26 08:37:09,933 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:09,933 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:09,934 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:09,934 [250] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:09,935 [250] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:10,019 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab?uploadId=68d650b5d73ec60008f934b8&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:10,019 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l986m-1oqv0r-qoa', 'x-amz-id-2': 'mg0l986m-1oqv0r-qoa', 'ETag': '"9d51865c6c3bec6c06844a2bde01ec29"', 'Date': 'Fri, 26 Sep 2025 08:37:10 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:10,019 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:10,020 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,020 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:10,020 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,020 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l986m-1oqv0r-qoa', 'HostId': 'mg0l986m-1oqv0r-qoa', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l986m-1oqv0r-qoa', 'x-amz-id-2': 'mg0l986m-1oqv0r-qoa', 'etag': '"9d51865c6c3bec6c06844a2bde01ec29"', 'date': 'Fri, 26 Sep 2025 08:37:10 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"9d51865c6c3bec6c06844a2bde01ec29"'} gunicorn-registry stdout | 2025-09-26 08:37:10,020 [250] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab', 'UploadId': '68d650b5d73ec60008f934b8', 'MultipartUpload': {'Parts': [{'ETag': '"9d51865c6c3bec6c06844a2bde01ec29"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:10,020 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,020 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,020 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,021 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,021 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,021 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,021 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,021 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:10,021 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:10,021 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:10,021 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:10,021 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,021 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,021 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,021 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab', 'query_string': {'uploadId': '68d650b5d73ec60008f934b8'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"9d51865c6c3bec6c06844a2bde01ec29"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab?uploadId=68d650b5d73ec60008f934b8', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab', 'UploadId': '68d650b5d73ec60008f934b8', 'MultipartUpload': {'Parts': [{'ETag': '"9d51865c6c3bec6c06844a2bde01ec29"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:10,022 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,022 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,022 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,022 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,022 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:10,022 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab gunicorn-registry stdout | uploadId=68d650b5d73ec60008f934b8 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:5e2488ffe2c3d7fcc68661be5883804a5df57cb29044635b3f146bad8e0e4152 gunicorn-registry stdout | x-amz-date:20250926T083710Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 5e2488ffe2c3d7fcc68661be5883804a5df57cb29044635b3f146bad8e0e4152 gunicorn-registry stdout | 2025-09-26 08:37:10,022 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083710Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | f661f0fe08b51227f7cbf6170fe6f970e74783f0f8195b769a5f486a41cb34b4 gunicorn-registry stdout | 2025-09-26 08:37:10,022 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 463168ade3dde9435867c627e4bf8c916d8a1fa1af9c36937beb8903def716b5 gunicorn-registry stdout | 2025-09-26 08:37:10,022 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,022 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:10,022 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:10,036 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab?uploadId=68d650b5d73ec60008f934b8 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:10,036 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9893-35mb4g-ir0', 'x-amz-id-2': 'mg0l9893-35mb4g-ir0', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:10 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:10,037 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab"7702b11c7ed5684c4be81fba747e2803-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab?uploadId=68d650b5d73ec60008f934b8' gunicorn-registry stdout | 2025-09-26 08:37:10,037 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,037 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,037 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:10,037 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,037 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9893-35mb4g-ir0', 'HostId': 'mg0l9893-35mb4g-ir0', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9893-35mb4g-ir0', 'x-amz-id-2': 'mg0l9893-35mb4g-ir0', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:10 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab?uploadId=68d650b5d73ec60008f934b8', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab', 'ETag': '"7702b11c7ed5684c4be81fba747e2803-1"'} gunicorn-registry stdout | 2025-09-26 08:37:10,037 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:10,038 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:10,038 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 581 bytes to blob f9793486-e186-4fab-a586-33241e2833da took 0.11898612976074219 seconds gunicorn-registry stdout | 2025-09-26 08:37:10,040 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['f9793486-e186-4fab-a586-33241e2833da', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,043 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, 'f9793486-e186-4fab-a586-33241e2833da', 581, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwNSJdfX1jY2I3ZDg1YTYzYTZhYTU3NDQzOTg0MGY3YTZmYTZmZDIzMjFiM2UyMzk0NTY4YTMxNzczNWU4NjdkMwUAAAAAAAAAABIAAAAAAAAukGjEA6oabvovq/ZX8QIMLFDQD43l3YWoJuZFJtgjd5RiLg==', 9, '{"chunks": [["uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab", 0, 581]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 9, 838838), None, None, 48]) gunicorn-registry stdout | 2025-09-26 08:37:10,048 [250] [DEBUG] [app] Ending request: urn:request:894971af-d79d-4d6c-a7d9-1186bf2b26e6 (/v2/testorg2/alpine/blobs/uploads/f9793486-e186-4fab-a586-33241e2833da) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:894971af-d79d-4d6c-a7d9-1186bf2b26e6', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/f9793486-e186-4fab-a586-33241e2833da', 'path': '/v2/testorg2/alpine/blobs/uploads/f9793486-e186-4fab-a586-33241e2833da', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:10,048 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:10,048 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:10,048 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:10 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/f9793486-e186-4fab-a586-33241e2833da HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:10 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/f9793486-e186-4fab-a586-33241e2833da HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.168 2357 0.166) gunicorn-registry stdout | 2025-09-26 08:37:10,091 [257] [DEBUG] [app] Starting request: urn:request:85f094d3-f698-4985-8f16-2ed6c0254127 (/v2/testorg2/alpine/blobs/uploads/f9793486-e186-4fab-a586-33241e2833da) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:10,091 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'f9793486-e186-4fab-a586-33241e2833da', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:10,091 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:10,091 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:10,092 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:10,092 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:10,092 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:10,092 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:10,092 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:10,093 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,098 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,102 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,106 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,109 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,113 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,116 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,120 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:10,124 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['f9793486-e186-4fab-a586-33241e2833da', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,127 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:10,127 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:10,127 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:10,128 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:10,129 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8be04f1e-647c-4c88-883a-2b178e09ad91', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:10,129 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,129 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,129 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,129 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,129 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,129 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,129 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,129 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,129 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:10,129 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:10,129 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:10,129 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:10,129 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,130 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,130 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,130 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/8be04f1e-647c-4c88-883a-2b178e09ad91?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8be04f1e-647c-4c88-883a-2b178e09ad91', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8be04f1e-647c-4c88-883a-2b178e09ad91?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8be04f1e-647c-4c88-883a-2b178e09ad91', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:10,130 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,130 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,130 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,130 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,130 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:10,130 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8be04f1e-647c-4c88-883a-2b178e09ad91 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083710Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:10,130 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083710Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 70b430ea8f2926e0b63ef1d5a80dc87882f5cf5bd046985e34c6944d688ab416 gunicorn-registry stdout | 2025-09-26 08:37:10,130 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 08aa34166c7c5e412cb41b74e2a6ab7cf4aa23dd87d0d04e50f1a4608cd0e04c gunicorn-registry stdout | 2025-09-26 08:37:10,130 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,131 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:10,131 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:10,136 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8be04f1e-647c-4c88-883a-2b178e09ad91?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:10,136 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l98c4-4y8x94-y4', 'x-amz-id-2': 'mg0l98c4-4y8x94-y4', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:10 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:10,136 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/8be04f1e-647c-4c88-883a-2b178e09ad9168d650b6d73ec60008f934be' gunicorn-registry stdout | 2025-09-26 08:37:10,136 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,137 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:10,137 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,137 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l98c4-4y8x94-y4', 'HostId': 'mg0l98c4-4y8x94-y4', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l98c4-4y8x94-y4', 'x-amz-id-2': 'mg0l98c4-4y8x94-y4', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:10 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8be04f1e-647c-4c88-883a-2b178e09ad91', 'UploadId': '68d650b6d73ec60008f934be'} gunicorn-registry stdout | 2025-09-26 08:37:10,137 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:10,137 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8be04f1e-647c-4c88-883a-2b178e09ad91', 'UploadId': '68d650b6d73ec60008f934be'} gunicorn-registry stdout | 2025-09-26 08:37:10,137 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,137 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,137 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,137 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,138 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,138 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,138 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:10,138 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:10,138 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:10,138 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:10,138 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,138 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,138 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,138 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/8be04f1e-647c-4c88-883a-2b178e09ad91', 'query_string': {'uploadId': '68d650b6d73ec60008f934be'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8be04f1e-647c-4c88-883a-2b178e09ad91', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8be04f1e-647c-4c88-883a-2b178e09ad91?uploadId=68d650b6d73ec60008f934be', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/8be04f1e-647c-4c88-883a-2b178e09ad91', 'UploadId': '68d650b6d73ec60008f934be'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:10,138 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,138 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,138 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,138 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,139 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:10,139 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8be04f1e-647c-4c88-883a-2b178e09ad91 gunicorn-registry stdout | uploadId=68d650b6d73ec60008f934be gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083710Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:10,139 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083710Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 09f15193a6d5b603649a84c281df5fd3b77731c008ae1050f1f3e11e0f2304d5 gunicorn-registry stdout | 2025-09-26 08:37:10,139 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 66dba065d9c1d17dcd30d4ec39272ff66101f9ce564b321b322b02ca8743dc9a gunicorn-registry stdout | 2025-09-26 08:37:10,139 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,139 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:10,139 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:10,146 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/8be04f1e-647c-4c88-883a-2b178e09ad91?uploadId=68d650b6d73ec60008f934be HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:10,146 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l98cc-5327ta-119d', 'x-amz-id-2': 'mg0l98cc-5327ta-119d', 'Date': 'Fri, 26 Sep 2025 08:37:10 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:10,146 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:10,146 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,146 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:10,146 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,146 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l98cc-5327ta-119d', 'HostId': 'mg0l98cc-5327ta-119d', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l98cc-5327ta-119d', 'x-amz-id-2': 'mg0l98cc-5327ta-119d', 'date': 'Fri, 26 Sep 2025 08:37:10 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:10,147 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob f9793486-e186-4fab-a586-33241e2833da took 0.019183635711669922 seconds gunicorn-registry stdout | 2025-09-26 08:37:10,147 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['f9793486-e186-4fab-a586-33241e2833da', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,151 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, 'f9793486-e186-4fab-a586-33241e2833da', 581, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwNSJdfX1jY2I3ZDg1YTYzYTZhYTU3NDQzOTg0MGY3YTZmYTZmZDIzMjFiM2UyMzk0NTY4YTMxNzczNWU4NjdkMwUAAAAAAAAAABIAAAAAAAAukGjEA6oabvovq/ZX8QIMLFDQD43l3YWoJuZFJtgjd5RiLg==', 9, '{"chunks": [["uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab", 0, 581]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 9, 838838), None, None, 48]) gunicorn-registry stdout | 2025-09-26 08:37:10,155 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:10,155 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:10,156 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:10,156 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:10,157 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516'} gunicorn-registry stdout | 2025-09-26 08:37:10,157 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,157 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,157 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,157 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,157 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,157 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,157 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,157 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:10,157 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:10,157 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:10,157 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:10,157 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,157 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,158 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,158 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:10,158 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,158 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,158 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,158 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,158 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:10,158 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083710Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:10,158 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083710Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 73e7ed6676ec2ec2c0f9b491ffc14336a64b25a63ec313ffae623e54d266351a gunicorn-registry stdout | 2025-09-26 08:37:10,158 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 26d0d185c94fac7b9f6262f61b5d685116acbdf316820a07d05a0a0ac8a600b0 gunicorn-registry stdout | 2025-09-26 08:37:10,158 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,158 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:10,159 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:10,163 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:10,163 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l98cv-5emzqk-1b7n', 'x-amz-id-2': 'mg0l98cv-5emzqk-1b7n', 'Content-Type': 'application/xml', 'Content-Length': '339', 'Date': 'Fri, 26 Sep 2025 08:37:10 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:10,164 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:10,164 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,165 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:10,165 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,165 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:10,165 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:10,165 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516 gunicorn-registry stdout | 2025-09-26 08:37:10,165 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:10,165 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:10,165 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:10,166 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:10,166 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,166 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,166 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,166 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,166 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,166 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,166 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,166 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:10,166 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:10,166 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:10,166 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:10,166 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,166 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,166 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,166 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:10,166 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,167 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,167 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,167 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,167 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,167 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:10,167 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083710Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:10,167 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083710Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | d0399f3dc88bced502d6f60dd2b56df1df7311cfdd6651d07a8ec794f88582d8 gunicorn-registry stdout | 2025-09-26 08:37:10,167 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | f37eae8712e9876ca001fe85213e00c890061ed00cc9b24768da0fc984774844 gunicorn-registry stdout | 2025-09-26 08:37:10,167 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,167 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,167 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:10,167 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:10,171 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:10,172 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l98d5-5k88pm-3sq', 'x-amz-id-2': 'mg0l98d5-5k88pm-3sq', 'ETag': '"7702b11c7ed5684c4be81fba747e2803-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:10 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '581', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:10 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:10,172 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:10,172 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,172 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:10,172 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,172 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:10,172 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:10,173 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:10,173 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:10,173 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'extra_args': {}, 'callbacks': [], 'size': 581} gunicorn-registry stdout | 2025-09-26 08:37:10,173 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,173 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,173 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,173 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,173 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,173 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,173 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,173 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,174 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,174 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,174 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:10,174 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:10,174 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:10,174 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:10,174 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,174 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,174 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,174 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:10,174 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,174 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,174 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,174 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,174 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,175 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:10,175 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3b7a7615-0ae0-45f0-b46e-797d180632ab gunicorn-registry stdout | x-amz-date:20250926T083710Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:10,175 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083710Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 80c761de0ea0f327630065b53f52ed1e2bad7cfa543fcb3ae0b2d1f69271a974 gunicorn-registry stdout | 2025-09-26 08:37:10,175 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 2540ea98471285e822822ce4358596efb125b003025d7ba7e43fda182f6e4654 gunicorn-registry stdout | 2025-09-26 08:37:10,175 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,175 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,175 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:10,175 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:10,175 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:10,200 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:10,201 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l98dc-5ojfam-1847', 'x-amz-id-2': 'mg0l98dc-5ojfam-1847', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:10 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:10,201 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:10.000Z"7702b11c7ed5684c4be81fba747e2803-1"' gunicorn-registry stdout | 2025-09-26 08:37:10,201 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,201 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,201 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:10,201 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,202 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:10,203 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob f9793486-e186-4fab-a586-33241e2833da with digest sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516 took 0.03776836395263672 seconds gunicorn-registry stdout | 2025-09-26 08:37:10,203 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['f9793486-e186-4fab-a586-33241e2833da', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,206 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,208 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['c4abfd79-bf5b-4f0d-a72d-4c20edcc1b11', 581, None, True, True, 'sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516']) gunicorn-registry stdout | 2025-09-26 08:37:10,209 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [49, 9]) gunicorn-registry stdout | 2025-09-26 08:37:10,212 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,213 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 49, datetime.datetime(2025, 9, 26, 8, 37, 10, 213449), datetime.datetime(2025, 9, 26, 9, 37, 10, 213434)]) gunicorn-registry stdout | 2025-09-26 08:37:10,215 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [48]) gunicorn-registry stdout | 2025-09-26 08:37:10,219 [257] [DEBUG] [app] Ending request: urn:request:85f094d3-f698-4985-8f16-2ed6c0254127 (/v2/testorg2/alpine/blobs/uploads/f9793486-e186-4fab-a586-33241e2833da) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:85f094d3-f698-4985-8f16-2ed6c0254127', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/f9793486-e186-4fab-a586-33241e2833da?digest=sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'path': '/v2/testorg2/alpine/blobs/uploads/f9793486-e186-4fab-a586-33241e2833da', 'parameters': {'digest': 'sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:10,219 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:10,219 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:10,219 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:10 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/f9793486-e186-4fab-a586-33241e2833da?digest=sha256%3A9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:10 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/f9793486-e186-4fab-a586-33241e2833da?digest=sha256%3A9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.129 1853 0.129) gunicorn-registry stdout | 2025-09-26 08:37:10,278 [257] [DEBUG] [app] Starting request: urn:request:caef139e-81f0-4178-9677-16988d8af106 (/v2/testorg2/alpine/manifests/sha256:eafc1edb577d2e9b458664a15f23ea1c370214193226069eb22921169fc7e43f) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:10,278 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:eafc1edb577d2e9b458664a15f23ea1c370214193226069eb22921169fc7e43f', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:10,278 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:10,278 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:10,279 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:10,279 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:10,279 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:10,279 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:10,279 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:10,281 [257] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:10,281 [257] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:10,281 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repository_lookup_testorg2_alpine; calling loader gunicorn-registry stdout | 2025-09-26 08:37:10,282 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,287 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,290 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) manifestbackfillworker stdout | 2025-09-26 08:37:10,289 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} gunicorn-registry stdout | 2025-09-26 08:37:10,293 [257] [DEBUG] [data.cache.impl] Got loaded result for key repository_lookup_testorg2_alpine: {'id': 3, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': , 'namespace_user': {'stripe_id': None}} gunicorn-registry stdout | 2025-09-26 08:37:10,293 [257] [DEBUG] [data.cache.impl] Caching loaded result for key repository_lookup_testorg2_alpine with expiration {'id': 3, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': , 'namespace_user': {'stripe_id': None}}: 120s gunicorn-registry stdout | 2025-09-26 08:37:10,294 [257] [DEBUG] [data.cache.impl] Cached loaded result for key repository_lookup_testorg2_alpine with expiration {'id': 3, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': , 'namespace_user': {'stripe_id': None}}: 120s gunicorn-registry stdout | 2025-09-26 08:37:10,294 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:eafc1edb577d2e9b458664a15f23ea1c370214193226069eb22921169fc7e43f', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,299 [257] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [3, 'sha256:9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8', 1, 3, 'sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 1]) gunicorn-registry stdout | 2025-09-26 08:37:10,304 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:eafc1edb577d2e9b458664a15f23ea1c370214193226069eb22921169fc7e43f', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,307 [257] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [3, 'sha256:eafc1edb577d2e9b458664a15f23ea1c370214193226069eb22921169fc7e43f', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516",\n "size": 581\n },\n "layers": [\n {\n "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",\n "digest": "sha256:9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8",\n "size": 3799689\n }\n ],\n "annotations": {\n "com.docker.official-images.bashbrew.arch": "amd64",\n "org.opencontainers.image.base.name": "scratch",\n "org.opencontainers.image.created": "2025-07-15T11:01:16Z",\n "org.opencontainers.image.revision": "01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e",\n "org.opencontainers.image.source": "https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:x86_64",\n "org.opencontainers.image.url": "https://hub.docker.com/_/alpine",\n "org.opencontainers.image.version": "3.22.1"\n }\n}', 'application/vnd.oci.image.config.v1+json', 3799689, None, True, None, True]) gunicorn-registry stdout | 2025-09-26 08:37:10,310 [257] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [3, 19, 48, 3, 19, 49]) gunicorn-registry stdout | 2025-09-26 08:37:10,312 [257] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,314 [257] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [4, 1]) gunicorn-registry stdout | 2025-09-26 08:37:10,315 [257] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 48, 19, 1]) gunicorn-registry stdout | 2025-09-26 08:37:10,317 [257] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 49, 19, 1]) gunicorn-registry stdout | 2025-09-26 08:37:10,319 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,320 [257] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t2"."id" = "t1"."repository_id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."manifest_id" != %s)) AND ("t2"."state" != %s)) LIMIT %s', [4, 19, 3, 1]) gunicorn-registry stdout | 2025-09-26 08:37:10,322 [257] [INFO] [data.model.quota] inserting namespace size for manifest 19 in namespace 4 gunicorn-registry stdout | 2025-09-26 08:37:10,322 [257] [DEBUG] [peewee] ('INSERT INTO "quotanamespacesize" ("namespace_user_id", "size_bytes", "backfill_start_ms", "backfill_complete") VALUES (%s, %s, %s, %s) RETURNING "quotanamespacesize"."id"', [4, 3800270, 0, True]) gunicorn-registry stdout | 2025-09-26 08:37:10,323 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,325 [257] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."manifest_id" != %s)) LIMIT %s', [3, 19, 1]) gunicorn-registry stdout | 2025-09-26 08:37:10,326 [257] [INFO] [data.model.quota] inserting repository size for manifest 19 in repository 3 gunicorn-registry stdout | 2025-09-26 08:37:10,327 [257] [DEBUG] [peewee] ('INSERT INTO "quotarepositorysize" ("repository_id", "size_bytes", "backfill_start_ms", "backfill_complete") VALUES (%s, %s, %s, %s) RETURNING "quotarepositorysize"."id"', [3, 3800270, 0, True]) gunicorn-registry stdout | 2025-09-26 08:37:10,329 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [19, None, 1758879430329, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,331 [257] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-89f23a70-15f9-4be7-b79e-d90ca727b845', 3, 19, 1758875830329, 1758879430329, False, True, False, 1]) gunicorn-registry stdout | 2025-09-26 08:37:10,335 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,338 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['c4abfd79-bf5b-4f0d-a72d-4c20edcc1b11']) gunicorn-registry stdout | 2025-09-26 08:37:10,342 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:10,343 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:10,344 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516'} gunicorn-registry stdout | 2025-09-26 08:37:10,344 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,344 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,344 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,344 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,344 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,344 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,344 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,344 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:10,344 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:10,344 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:10,344 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:10,344 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,344 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,344 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,344 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:10,345 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,345 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,345 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,345 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,345 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:10,345 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083710Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:10,345 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083710Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | db1b4cd664433d0a20e4acdb63f2c8d5a9b9c11b3ce5db1ce7b8e624d31d2429 gunicorn-registry stdout | 2025-09-26 08:37:10,345 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 4d76079a3025c2fa6966be354eaede04f8557c5f97789d8f8405290162336b03 gunicorn-registry stdout | 2025-09-26 08:37:10,345 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,345 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:10,345 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:10,407 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516 HTTP/1.1" 200 581 gunicorn-registry stdout | 2025-09-26 08:37:10,407 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l98i3-8ieypv-1b5n', 'x-amz-id-2': 'mg0l98i3-8ieypv-1b5n', 'ETag': '"7702b11c7ed5684c4be81fba747e2803-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:10 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '581', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:10 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:10,407 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:10,408 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:10,408 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:10,408 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:10,408 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l98i3-8ieypv-1b5n', 'HostId': 'mg0l98i3-8ieypv-1b5n', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l98i3-8ieypv-1b5n', 'x-amz-id-2': 'mg0l98i3-8ieypv-1b5n', 'etag': '"7702b11c7ed5684c4be81fba747e2803-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:10 GMT', 'content-type': 'application/octet-stream', 'content-length': '581', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:10 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 10, tzinfo=tzutc()), 'ContentLength': 581, 'ETag': '"7702b11c7ed5684c4be81fba747e2803-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:10,410 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [19, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,415 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['772c538c-afca-4159-806a-591734f96759', 'com.docker.official-images.bashbrew.arch', 'amd64', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:10,417 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 19, 57]) gunicorn-registry stdout | 2025-09-26 08:37:10,421 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [19, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,425 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['22d9b931-af84-4a81-aed5-815ae4b3c29a', 'org.opencontainers.image.base.name', 'scratch', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:10,427 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 19, 58]) gunicorn-registry stdout | 2025-09-26 08:37:10,430 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [19, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,434 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['5f6f72c4-625a-40e9-b278-96fa0145f750', 'org.opencontainers.image.created', '2025-07-15T11:01:16Z', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:10,436 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 19, 59]) gunicorn-registry stdout | 2025-09-26 08:37:10,441 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [19, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,445 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['d165063a-83c6-4dee-9fee-7f83dd48b8f3', 'org.opencontainers.image.revision', '01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:10,447 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 19, 60]) gunicorn-registry stdout | 2025-09-26 08:37:10,451 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [19, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,454 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['e9516796-e067-49e7-baf3-b3ed5c2eb0f8', 'org.opencontainers.image.source', 'https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:x86_64', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:10,457 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 19, 61]) gunicorn-registry stdout | 2025-09-26 08:37:10,461 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [19, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,464 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['04594892-a2e1-438d-b8b2-4534243503e0', 'org.opencontainers.image.url', 'https://hub.docker.com/_/alpine', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:10,467 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 19, 62]) gunicorn-registry stdout | 2025-09-26 08:37:10,471 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [19, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,475 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['fd661083-c946-42ae-8a76-cb66a3074efd', 'org.opencontainers.image.version', '3.22.1', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:10,477 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 19, 63]) gunicorn-registry stdout | 2025-09-26 08:37:10,481 [257] [DEBUG] [app] Ending request: urn:request:caef139e-81f0-4178-9677-16988d8af106 (/v2/testorg2/alpine/manifests/sha256:eafc1edb577d2e9b458664a15f23ea1c370214193226069eb22921169fc7e43f) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:caef139e-81f0-4178-9677-16988d8af106', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/manifests/sha256:eafc1edb577d2e9b458664a15f23ea1c370214193226069eb22921169fc7e43f', 'path': '/v2/testorg2/alpine/manifests/sha256:eafc1edb577d2e9b458664a15f23ea1c370214193226069eb22921169fc7e43f', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'size': 581}, 'layers': [{'mediaType': 'application/vnd.oci.image.layer.v1.tar+gzip', 'digest': 'sha256:9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8', 'size': 3799689}], 'annotations': {'com.docker.official-images.bashbrew.arch': 'amd64', 'org.opencontainers.image.base.name': 'scratch', 'org.opencontainers.image.created': '2025-07-15T11:01:16Z', 'org.opencontainers.image.revision': '01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e', 'org.opencontainers.image.source': 'https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:x86_64', 'org.opencontainers.image.url': 'https://hub.docker.com/_/alpine', 'org.opencontainers.image.version': '3.22.1'}}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:10,481 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:10,481 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:10,481 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:10 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:eafc1edb577d2e9b458664a15f23ea1c370214193226069eb22921169fc7e43f HTTP/1.1" 201 2 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:10 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:eafc1edb577d2e9b458664a15f23ea1c370214193226069eb22921169fc7e43f HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.204 2846 0.204) gunicorn-registry stdout | 2025-09-26 08:37:10,769 [254] [DEBUG] [app] Starting request: urn:request:f5b91853-8b41-4fe9-9587-18ffd7a1161b (/v2/testorg2/alpine/blobs/sha256:5b9b2fb79d66a16d883863a72a071d210961507c0306497e00cc7aa71dcf5ed4) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:10,769 [254] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:5b9b2fb79d66a16d883863a72a071d210961507c0306497e00cc7aa71dcf5ed4', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:10,769 [254] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:10,769 [254] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:10,771 [254] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:10,771 [254] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:10,771 [254] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:10,771 [254] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:10,771 [254] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:10,772 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,777 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,781 [254] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:10,781 [254] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:5b9b2fb79d66a16d883863a72a071d210961507c0306497e00cc7aa71dcf5ed4_2 gunicorn-registry stdout | 2025-09-26 08:37:10,781 [254] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:5b9b2fb79d66a16d883863a72a071d210961507c0306497e00cc7aa71dcf5ed4_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:10,783 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,787 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,790 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,794 [254] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:5b9b2fb79d66a16d883863a72a071d210961507c0306497e00cc7aa71dcf5ed4', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,797 [254] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:5b9b2fb79d66a16d883863a72a071d210961507c0306497e00cc7aa71dcf5ed4', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,801 [254] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:5b9b2fb79d66a16d883863a72a071d210961507c0306497e00cc7aa71dcf5ed4_2: None gunicorn-registry stdout | 2025-09-26 08:37:10,801 [254] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:5b9b2fb79d66a16d883863a72a071d210961507c0306497e00cc7aa71dcf5ed4_2: None gunicorn-registry stdout | 2025-09-26 08:37:10,801 [254] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:10,802 [254] [DEBUG] [app] Ending request: urn:request:f5b91853-8b41-4fe9-9587-18ffd7a1161b (/v2/testorg2/alpine/blobs/sha256:5b9b2fb79d66a16d883863a72a071d210961507c0306497e00cc7aa71dcf5ed4) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:f5b91853-8b41-4fe9-9587-18ffd7a1161b', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:5b9b2fb79d66a16d883863a72a071d210961507c0306497e00cc7aa71dcf5ed4', 'path': '/v2/testorg2/alpine/blobs/sha256:5b9b2fb79d66a16d883863a72a071d210961507c0306497e00cc7aa71dcf5ed4', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:10,802 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:10,802 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:10,802 [254] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:10 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:5b9b2fb79d66a16d883863a72a071d210961507c0306497e00cc7aa71dcf5ed4 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:10 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:5b9b2fb79d66a16d883863a72a071d210961507c0306497e00cc7aa71dcf5ed4 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.034 1718 0.035) gunicorn-registry stdout | 2025-09-26 08:37:10,827 [256] [DEBUG] [app] Starting request: urn:request:e4910d71-1d89-4728-98c4-08e0fc4c1bde (/v2/testorg2/alpine/blobs/sha256:ff5e5806f15b500184a129a78dd91a3ae46db62f79667f312262075b676faae2) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:10,827 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:ff5e5806f15b500184a129a78dd91a3ae46db62f79667f312262075b676faae2', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:10,828 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:10,828 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:10,828 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:10,829 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:10,829 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:10,829 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:10,829 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:10,829 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,834 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,837 [256] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:10,837 [256] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:ff5e5806f15b500184a129a78dd91a3ae46db62f79667f312262075b676faae2_2 gunicorn-registry stdout | 2025-09-26 08:37:10,837 [256] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:ff5e5806f15b500184a129a78dd91a3ae46db62f79667f312262075b676faae2_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:10,838 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,843 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,846 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,850 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:ff5e5806f15b500184a129a78dd91a3ae46db62f79667f312262075b676faae2', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,854 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:ff5e5806f15b500184a129a78dd91a3ae46db62f79667f312262075b676faae2', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,858 [256] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:ff5e5806f15b500184a129a78dd91a3ae46db62f79667f312262075b676faae2_2: None gunicorn-registry stdout | 2025-09-26 08:37:10,858 [256] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:ff5e5806f15b500184a129a78dd91a3ae46db62f79667f312262075b676faae2_2: None gunicorn-registry stdout | 2025-09-26 08:37:10,858 [256] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:10,858 [256] [DEBUG] [app] Ending request: urn:request:e4910d71-1d89-4728-98c4-08e0fc4c1bde (/v2/testorg2/alpine/blobs/sha256:ff5e5806f15b500184a129a78dd91a3ae46db62f79667f312262075b676faae2) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:e4910d71-1d89-4728-98c4-08e0fc4c1bde', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:ff5e5806f15b500184a129a78dd91a3ae46db62f79667f312262075b676faae2', 'path': '/v2/testorg2/alpine/blobs/sha256:ff5e5806f15b500184a129a78dd91a3ae46db62f79667f312262075b676faae2', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:10,859 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:10,859 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:10,859 [256] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:10 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:ff5e5806f15b500184a129a78dd91a3ae46db62f79667f312262075b676faae2 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:10 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:ff5e5806f15b500184a129a78dd91a3ae46db62f79667f312262075b676faae2 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.033 1718 0.033) gunicorn-registry stdout | 2025-09-26 08:37:10,898 [250] [DEBUG] [app] Starting request: urn:request:6b76cc42-ca7f-4684-8981-76685e699afb (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:10,899 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:10,899 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:10,899 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:10,900 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:10,900 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:10,900 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:10,900 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:10,900 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:10,901 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,905 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,908 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,912 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,916 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,919 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,923 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:10,926 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:10,930 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, '5be65c19-715c-42f3-a47f-18e8d45a3f35', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 10, 929950)]) gunicorn-registry stdout | 2025-09-26 08:37:10,935 [250] [DEBUG] [app] Ending request: urn:request:6b76cc42-ca7f-4684-8981-76685e699afb (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:6b76cc42-ca7f-4684-8981-76685e699afb', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:10,935 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:10,935 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:10,935 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:10 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:10 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.038 1697 0.038) gunicorn-registry stdout | 2025-09-26 08:37:11,406 [250] [DEBUG] [app] Starting request: urn:request:356d0012-78ff-4210-a28f-8fc828acd6d5 (/v2/testorg2/alpine/blobs/sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:11,406 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:11,406 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:11,406 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:11,407 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:11,407 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:11,407 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:11,407 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:11,407 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:11,408 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,412 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,416 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:11,416 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23_2 gunicorn-registry stdout | 2025-09-26 08:37:11,416 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:11,417 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,420 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,424 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,428 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,431 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,434 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23_2: None gunicorn-registry stdout | 2025-09-26 08:37:11,434 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23_2: None gunicorn-registry stdout | 2025-09-26 08:37:11,435 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:11,435 [250] [DEBUG] [app] Ending request: urn:request:356d0012-78ff-4210-a28f-8fc828acd6d5 (/v2/testorg2/alpine/blobs/sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:356d0012-78ff-4210-a28f-8fc828acd6d5', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'path': '/v2/testorg2/alpine/blobs/sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:11,435 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:11,435 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:11,435 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:11 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:11 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.030 1718 0.030) gunicorn-registry stdout | 2025-09-26 08:37:11,475 [250] [DEBUG] [app] Starting request: urn:request:0a3fa005-b993-4f1b-a8df-8a576cdaa795 (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:11,475 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:11,475 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:11,475 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:11,476 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:11,476 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:11,476 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:11,476 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:11,476 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:11,477 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,481 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,484 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,488 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,492 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,496 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,499 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:11,503 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,506 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, 'fd300b4b-5416-4dbe-9832-835270d93e37', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 11, 506275)]) gunicorn-registry stdout | 2025-09-26 08:37:11,511 [250] [DEBUG] [app] Ending request: urn:request:0a3fa005-b993-4f1b-a8df-8a576cdaa795 (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:0a3fa005-b993-4f1b-a8df-8a576cdaa795', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:11,511 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:11,511 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:11,512 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:11 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:11 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.037 1697 0.038) gunicorn-registry stdout | 2025-09-26 08:37:11,550 [250] [DEBUG] [app] Starting request: urn:request:854d6669-6f6b-44c4-ba08-41eade1fa084 (/v2/testorg2/alpine/blobs/uploads/fd300b4b-5416-4dbe-9832-835270d93e37) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:11,551 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'fd300b4b-5416-4dbe-9832-835270d93e37', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:11,551 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:11,551 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:11,552 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:11,552 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:11,552 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:11,552 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:11,552 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:11,553 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,557 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,560 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,564 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,568 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,571 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,574 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,578 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:11,581 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['fd300b4b-5416-4dbe-9832-835270d93e37', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,584 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:11,585 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:11,585 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:11,586 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:11,586 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:11,586 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,586 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,586 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,586 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,586 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,586 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,586 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,586 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,586 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:11,586 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:11,586 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:11,587 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:11,587 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,587 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,587 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,587 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:11,587 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,587 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,587 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,587 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,588 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:11,588 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083711Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:11,588 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083711Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | a46fbbc29e0d11528f23cb765a4bd0ba435004720f52c1fc54fb542f883d12a8 gunicorn-registry stdout | 2025-09-26 08:37:11,588 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ccc0adbf5583f63e23cc9842ab05409563050537e90dabaca3fc5118cf29e235 gunicorn-registry stdout | 2025-09-26 08:37:11,588 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,588 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:11,588 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:11,594 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:11,594 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l99gm-ciu83s-ttz', 'x-amz-id-2': 'mg0l99gm-ciu83s-ttz', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:11 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:11,594 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a8968d650b7d73ec60008f934d3' gunicorn-registry stdout | 2025-09-26 08:37:11,595 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,595 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:11,595 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,595 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l99gm-ciu83s-ttz', 'HostId': 'mg0l99gm-ciu83s-ttz', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l99gm-ciu83s-ttz', 'x-amz-id-2': 'mg0l99gm-ciu83s-ttz', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:11 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89', 'UploadId': '68d650b7d73ec60008f934d3'} gunicorn-registry stdout | 2025-09-26 08:37:11,595 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:11,596 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:11,596 [250] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:11,596 [250] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89', 'UploadId': '68d650b7d73ec60008f934d3', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50db242c0>, 'ContentLength': 241} gunicorn-registry stdout | 2025-09-26 08:37:11,596 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,596 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,596 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,597 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,597 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,597 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,597 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,597 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,597 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:11,597 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:11,597 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:11,597 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:11,597 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,597 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,598 [250] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:11,598 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,598 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,598 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89', 'query_string': {'uploadId': '68d650b7d73ec60008f934d3', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '241', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'cQiGe097yDLlyoHVBTjz1Q==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50db242c0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89?uploadId=68d650b7d73ec60008f934d3&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89', 'UploadId': '68d650b7d73ec60008f934d3', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50db242c0>, 'ContentLength': 241}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:11,598 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,598 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,598 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,598 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,598 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:11,598 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89 gunicorn-registry stdout | partNumber=1&uploadId=68d650b7d73ec60008f934d3 gunicorn-registry stdout | content-length:241 gunicorn-registry stdout | content-md5:cQiGe097yDLlyoHVBTjz1Q== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083711Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:11,598 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083711Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 251c1af8248a291e1c4ef829ee1b4d7c62763c42585e5b3c91bec6ff41be98cf gunicorn-registry stdout | 2025-09-26 08:37:11,598 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 8f0afe27238fb4b687d35019bbccc7c5b9bcbc5ff2933ccb6eff6cf7ad696794 gunicorn-registry stdout | 2025-09-26 08:37:11,598 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,598 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:11,599 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:11,599 [250] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:11,599 [250] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:11,673 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89?uploadId=68d650b7d73ec60008f934d3&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:11,674 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l99gv-con2hy-1s0', 'x-amz-id-2': 'mg0l99gv-con2hy-1s0', 'ETag': '"7108867b4f7bc832e5ca81d50538f3d5"', 'Date': 'Fri, 26 Sep 2025 08:37:11 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:11,674 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:11,674 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,674 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:11,674 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,674 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l99gv-con2hy-1s0', 'HostId': 'mg0l99gv-con2hy-1s0', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l99gv-con2hy-1s0', 'x-amz-id-2': 'mg0l99gv-con2hy-1s0', 'etag': '"7108867b4f7bc832e5ca81d50538f3d5"', 'date': 'Fri, 26 Sep 2025 08:37:11 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"7108867b4f7bc832e5ca81d50538f3d5"'} gunicorn-registry stdout | 2025-09-26 08:37:11,674 [250] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89', 'UploadId': '68d650b7d73ec60008f934d3', 'MultipartUpload': {'Parts': [{'ETag': '"7108867b4f7bc832e5ca81d50538f3d5"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:11,675 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,675 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,675 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,675 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,675 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,675 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,675 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,675 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:11,675 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:11,675 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:11,675 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:11,675 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,675 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,675 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,675 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89', 'query_string': {'uploadId': '68d650b7d73ec60008f934d3'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"7108867b4f7bc832e5ca81d50538f3d5"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89?uploadId=68d650b7d73ec60008f934d3', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89', 'UploadId': '68d650b7d73ec60008f934d3', 'MultipartUpload': {'Parts': [{'ETag': '"7108867b4f7bc832e5ca81d50538f3d5"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:11,675 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,676 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,676 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,676 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,676 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:11,676 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89 gunicorn-registry stdout | uploadId=68d650b7d73ec60008f934d3 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:42be031a9d6573a817dcc6e416ce187c2498025c9fb7bf6620fc313d776c46c1 gunicorn-registry stdout | x-amz-date:20250926T083711Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 42be031a9d6573a817dcc6e416ce187c2498025c9fb7bf6620fc313d776c46c1 gunicorn-registry stdout | 2025-09-26 08:37:11,676 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083711Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 8ca46f2746f0e5ee85bc07100c92fea116f00babcdce321890dfa7e47a13bf6f gunicorn-registry stdout | 2025-09-26 08:37:11,676 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 4c92aa7062f59bff367bf6c9ef68eea8e463bc9bdcc08bce9d631efc7ed1379e gunicorn-registry stdout | 2025-09-26 08:37:11,676 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,676 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:11,676 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:11,697 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89?uploadId=68d650b7d73ec60008f934d3 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:11,697 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l99j1-dyus05-bu1', 'x-amz-id-2': 'mg0l99j1-dyus05-bu1', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:11 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:11,697 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89"3d94f697fe7081dd2516ff729b393c6a-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89?uploadId=68d650b7d73ec60008f934d3' gunicorn-registry stdout | 2025-09-26 08:37:11,698 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,698 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,698 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:11,698 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,698 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l99j1-dyus05-bu1', 'HostId': 'mg0l99j1-dyus05-bu1', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l99j1-dyus05-bu1', 'x-amz-id-2': 'mg0l99j1-dyus05-bu1', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:11 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89?uploadId=68d650b7d73ec60008f934d3', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89', 'ETag': '"3d94f697fe7081dd2516ff729b393c6a-1"'} gunicorn-registry stdout | 2025-09-26 08:37:11,698 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:11,699 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:11,700 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 241 bytes to blob fd300b4b-5416-4dbe-9832-835270d93e37 took 0.11539411544799805 seconds gunicorn-registry stdout | 2025-09-26 08:37:11,701 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['fd300b4b-5416-4dbe-9832-835270d93e37', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,705 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, 'fd300b4b-5416-4dbe-9832-835270d93e37', 241, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwMTI5YTc4ZGQ5MWEzYWU0NmRiNjJmNzk2NjdmMzEyMjYyMDc1YjY3NmZhYWUyIl19fTU4MDZmMTViNTAwMTg0YTEAAAAAAAAAAAYAAAAAAAD3BRkD+JSm/Ir0NSjOHWNENZuzY9mUiYc1Dlqu9HxRGpRiLg==', 9, '{"chunks": [["uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89", 0, 241]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 11, 506275), None, None, 51]) gunicorn-registry stdout | 2025-09-26 08:37:11,709 [250] [DEBUG] [app] Ending request: urn:request:854d6669-6f6b-44c4-ba08-41eade1fa084 (/v2/testorg2/alpine/blobs/uploads/fd300b4b-5416-4dbe-9832-835270d93e37) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:854d6669-6f6b-44c4-ba08-41eade1fa084', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/fd300b4b-5416-4dbe-9832-835270d93e37', 'path': '/v2/testorg2/alpine/blobs/uploads/fd300b4b-5416-4dbe-9832-835270d93e37', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:11,709 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:11,709 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:11,710 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:11 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/fd300b4b-5416-4dbe-9832-835270d93e37 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:11 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/fd300b4b-5416-4dbe-9832-835270d93e37 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.160 2017 0.160) gunicorn-web stdout | 2025-09-26 08:37:11,713 [241] [DEBUG] [app] Starting request: urn:request:97b7e90f-0e3d-4701-983d-d993290507ca (/_storage_proxy_auth) {'X-Forwarded-For': '3.131.182.156'} gunicorn-web stdout | 2025-09-26 08:37:11,713 [241] [DEBUG] [storage.downloadproxy] Got token b'eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODMxLCJpYXQiOjE3NTg4NzU4MzEsImV4cCI6MTc1ODg3NjQzMSwic3ViIjoic3RvcmFnZXByb3h5IiwiYWNjZXNzIjpbeyJ0eXBlIjoic3RvcmFnZXByb3h5IiwidXJpIjoicXVheS1kYXRhc3RvcmUtZTI5YzM5OTQtNjJlYi00ZTlmLTk1NTAtYmFhMTFmODc0MDg0L2RhdGFzdG9yYWdlL3JlZ2lzdHJ5L3NoYTI1Ni9hMC9hMGE0YmVhYTE5NjBiYmEzNTMwNjZkNjc0YWEwZTMzNzhiODU2YjA5ZTZkM2Y3MDRkMTc1NWRhYTVkNmMxZDM5P0FXU0FjY2Vzc0tleUlkPUtxVUFodjYwQUdsQUREcTBNY0taJlNpZ25hdHVyZT02QzFObGY5eVBsaGtsZTZsWlZtaTlLa05HRXclM0QmRXhwaXJlcz0xNzU4ODc2NDMxIiwiaG9zdCI6InMzLm9wZW5zaGlmdC1zdG9yYWdlLnN2Yy5jbHVzdGVyLmxvY2FsOjQ0MyIsInNjaGVtZSI6Imh0dHBzIn1dLCJjb250ZXh0Ijp7fX0.N9vgQgAhVPYAd3N6AOXgGgvMzoAMZh9TcU9tSWYwY-sM_6_mbvAm0WhyKfRlEgJWyLxYZ-OcUqeG-enNMedx0YwTJp6pFn4MOo9nRzgoBT-TOzA_lgjnGHIQ_cNbwtXm_fKqc-0Pz92eqXK4-gORsBgZctXF15K_TANhx59QbzX6wHOFyyDOiaJBaAml2bdvkJM7DyLAQsn325Y4wX40nA1jvdi2EeGtj3rFR7JZFZsSVk5YuDstIA0IHB43g2uIuEP2nOCN3GEuUO66o12qdApdbxUR8T_Ent4SGMWdqVBUmZZABx66QEcXiQp9ZHp2tq4__0D8ZalbucH0R3eASw' for storage proxy auth request /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ETXhMQ0pwWVhRaU9qRTNOVGc0TnpVNE16RXNJbVY0Y0NJNk1UYzFPRGczTmpRek1Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE1DOWhNR0UwWW1WaFlURTVOakJpWW1Fek5UTXdOalprTmpjMFlXRXdaVE16TnpoaU9EVTJZakE1WlRaa00yWTNNRFJrTVRjMU5XUmhZVFZrTm1NeFpETTVQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDAyUXpGT2JHWTVlVkJzYUd0c1pUWnNXbFp0YVRsTGEwNUhSWGNsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRNeElpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuTjl2Z1FnQWhWUFlBZDNONkFPWGdHZ3ZNem9BTVpoOVRjVTl0U1dZd1ktc01fNl9tYnZBbTBXaHlLZlJsRWdKV3lMeFlaLU9jVXFlRy1lbk5NZWR4MFl3VEpwNnBGbjRNT285blJ6Z29CVC1UT3pBX2xnam5HSElRX2NOYnd0WG1fZktxYy0wUHo5MmVxWEs0LWdPUnNCZ1pjdFhGMTVLX1RBTmh4NTlRYnpYNndIT0Z5eURPaWFKQmFBbWwyYmR2a0pNN0R5TEFRc24zMjVZNHdYNDBuQTFqdmRpMkVlR3RqM3JGUjdKWkZac1NWazVZdURzdElBMElIQjQzZzJ1SXVFUDJuT0NOM0dFdVVPNjZvMTJxZEFwZGJ4VVI4VF9FbnQ0U0dNV2RxVkJVbVpaQUJ4NjZRRWNYaVFwOVpIcDJ0cTRfXzBEOFphbGJ1Y0gwUjNlQVN3/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=6C1Nlf9yPlhkle6lZVmi9KkNGEw%3D&Expires=1758876431 with parts ['ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ETXhMQ0pwWVhRaU9qRTNOVGc0TnpVNE16RXNJbVY0Y0NJNk1UYzFPRGczTmpRek1Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE1DOWhNR0UwWW1WaFlURTVOakJpWW1Fek5UTXdOalprTmpjMFlXRXdaVE16TnpoaU9EVTJZakE1WlRaa00yWTNNRFJrTVRjMU5XUmhZVFZrTm1NeFpETTVQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDAyUXpGT2JHWTVlVkJzYUd0c1pUWnNXbFp0YVRsTGEwNUhSWGNsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRNeElpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuTjl2Z1FnQWhWUFlBZDNONkFPWGdHZ3ZNem9BTVpoOVRjVTl0U1dZd1ktc01fNl9tYnZBbTBXaHlLZlJsRWdKV3lMeFlaLU9jVXFlRy1lbk5NZWR4MFl3VEpwNnBGbjRNT285blJ6Z29CVC1UT3pBX2xnam5HSElRX2NOYnd0WG1fZktxYy0wUHo5MmVxWEs0LWdPUnNCZ1pjdFhGMTVLX1RBTmh4NTlRYnpYNndIT0Z5eURPaWFKQmFBbWwyYmR2a0pNN0R5TEFRc24zMjVZNHdYNDBuQTFqdmRpMkVlR3RqM3JGUjdKWkZac1NWazVZdURzdElBMElIQjQzZzJ1SXVFUDJuT0NOM0dFdVVPNjZvMTJxZEFwZGJ4VVI4VF9FbnQ0U0dNV2RxVkJVbVpaQUJ4NjZRRWNYaVFwOVpIcDJ0cTRfXzBEOFphbGJ1Y0gwUjNlQVN3', 'https', 's3.openshift-storage.svc.cluster.local:443', 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=6C1Nlf9yPlhkle6lZVmi9KkNGEw%3D&Expires=1758876431'] gunicorn-web stdout | 2025-09-26 08:37:11,714 [241] [DEBUG] [app] Ending request: urn:request:97b7e90f-0e3d-4701-983d-d993290507ca (/_storage_proxy_auth) {'endpoint': '_storage_proxy_auth', 'request_id': 'urn:request:97b7e90f-0e3d-4701-983d-d993290507ca', 'remote_addr': '3.131.182.156', 'http_method': 'GET', 'original_url': 'https://web_app_server/_storage_proxy_auth', 'path': '/_storage_proxy_auth', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Go-http-client/1.1'} gunicorn-web stdout | 2025-09-26 08:37:11,715 [241] [INFO] [gunicorn.access] 3.131.182.156 - - [26/Sep/2025:08:37:11 +0000] "GET /_storage_proxy_auth HTTP/1.0" 200 2 "-" "Go-http-client/1.1" gunicorn-registry stdout | 2025-09-26 08:37:11,749 [257] [DEBUG] [app] Starting request: urn:request:ca94f9db-a540-4122-a437-71383b1c975f (/v2/testorg2/alpine/blobs/uploads/fd300b4b-5416-4dbe-9832-835270d93e37) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:11,749 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'fd300b4b-5416-4dbe-9832-835270d93e37', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:11,749 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:11,749 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:11,750 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:11,750 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:11,750 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:11,750 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:11,750 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:11,751 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,756 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,759 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,763 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,766 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,770 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,774 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,777 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:11,782 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['fd300b4b-5416-4dbe-9832-835270d93e37', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,785 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:11,786 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:11,786 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:11,786 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:11,787 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/917187cf-daf9-4121-bcf2-7d08aaf409f4', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:11,787 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,787 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,787 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,787 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,787 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,787 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,787 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,787 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,787 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:11,787 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:11,787 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:11,788 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:11,788 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,788 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,788 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,788 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/917187cf-daf9-4121-bcf2-7d08aaf409f4?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/917187cf-daf9-4121-bcf2-7d08aaf409f4', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/917187cf-daf9-4121-bcf2-7d08aaf409f4?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/917187cf-daf9-4121-bcf2-7d08aaf409f4', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:11,788 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,788 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,788 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,788 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,788 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:11,788 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/917187cf-daf9-4121-bcf2-7d08aaf409f4 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083711Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:11,788 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083711Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 26e21df0548db16335942156dbd90e7da3f12e83809334589ebcbda9cd38ef12 gunicorn-registry stdout | 2025-09-26 08:37:11,789 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | f117517dedd0a06376a0d7eb5c9ca56a89959ee63255c30ef3b7f35c34300a91 gunicorn-registry stdout | 2025-09-26 08:37:11,789 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,789 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:11,789 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:11,794 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/917187cf-daf9-4121-bcf2-7d08aaf409f4?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:11,794 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l99m6-fu1odg-2nc', 'x-amz-id-2': 'mg0l99m6-fu1odg-2nc', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:11 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:11,795 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/917187cf-daf9-4121-bcf2-7d08aaf409f468d650b7d73ec60008f934d9' gunicorn-registry stdout | 2025-09-26 08:37:11,795 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,795 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:11,795 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,795 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l99m6-fu1odg-2nc', 'HostId': 'mg0l99m6-fu1odg-2nc', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l99m6-fu1odg-2nc', 'x-amz-id-2': 'mg0l99m6-fu1odg-2nc', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:11 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/917187cf-daf9-4121-bcf2-7d08aaf409f4', 'UploadId': '68d650b7d73ec60008f934d9'} gunicorn-registry stdout | 2025-09-26 08:37:11,795 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:11,796 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/917187cf-daf9-4121-bcf2-7d08aaf409f4', 'UploadId': '68d650b7d73ec60008f934d9'} gunicorn-registry stdout | 2025-09-26 08:37:11,797 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,797 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,797 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,797 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,797 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,797 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,797 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:11,797 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:11,797 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:11,797 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:11,797 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,798 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,798 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,798 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/917187cf-daf9-4121-bcf2-7d08aaf409f4', 'query_string': {'uploadId': '68d650b7d73ec60008f934d9'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/917187cf-daf9-4121-bcf2-7d08aaf409f4', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/917187cf-daf9-4121-bcf2-7d08aaf409f4?uploadId=68d650b7d73ec60008f934d9', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/917187cf-daf9-4121-bcf2-7d08aaf409f4', 'UploadId': '68d650b7d73ec60008f934d9'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:11,798 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,798 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,798 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,798 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,798 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:11,798 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/917187cf-daf9-4121-bcf2-7d08aaf409f4 gunicorn-registry stdout | uploadId=68d650b7d73ec60008f934d9 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083711Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:11,798 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083711Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 329e6fa082bdf889f7a6f7bf5d03db9c005aea059993758b714183b0b9f0571f gunicorn-registry stdout | 2025-09-26 08:37:11,799 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | f7b686d4ef71dd9d6948d605e6830eb8eb3a360e9d75df962ce6d1f65f762d07 gunicorn-registry stdout | 2025-09-26 08:37:11,799 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,799 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:11,799 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:11,806 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/917187cf-daf9-4121-bcf2-7d08aaf409f4?uploadId=68d650b7d73ec60008f934d9 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:11,806 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l99mh-g0jv0f-1ea6', 'x-amz-id-2': 'mg0l99mh-g0jv0f-1ea6', 'Date': 'Fri, 26 Sep 2025 08:37:11 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:11,806 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:11,806 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,807 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:11,807 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,807 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l99mh-g0jv0f-1ea6', 'HostId': 'mg0l99mh-g0jv0f-1ea6', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l99mh-g0jv0f-1ea6', 'x-amz-id-2': 'mg0l99mh-g0jv0f-1ea6', 'date': 'Fri, 26 Sep 2025 08:37:11 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:11,807 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob fd300b4b-5416-4dbe-9832-835270d93e37 took 0.021132946014404297 seconds gunicorn-registry stdout | 2025-09-26 08:37:11,807 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['fd300b4b-5416-4dbe-9832-835270d93e37', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,811 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, 'fd300b4b-5416-4dbe-9832-835270d93e37', 241, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwMTI5YTc4ZGQ5MWEzYWU0NmRiNjJmNzk2NjdmMzEyMjYyMDc1YjY3NmZhYWUyIl19fTU4MDZmMTViNTAwMTg0YTEAAAAAAAAAAAYAAAAAAAD3BRkD+JSm/Ir0NSjOHWNENZuzY9mUiYc1Dlqu9HxRGpRiLg==', 9, '{"chunks": [["uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89", 0, 241]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 11, 506275), None, None, 51]) gunicorn-registry stdout | 2025-09-26 08:37:11,816 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:11,816 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:11,816 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:11,817 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:11,817 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23'} gunicorn-registry stdout | 2025-09-26 08:37:11,817 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,817 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,817 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,817 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,817 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,817 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,817 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,817 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:11,817 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:11,818 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:11,818 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:11,818 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,818 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,818 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,818 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:11,818 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,818 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,818 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,818 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,818 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:11,818 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083711Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:11,818 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083711Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 66330d8ef8de4fd3bfa6d7743ae3a1c47235104913d1a26acc47c32ac1f6b17f gunicorn-registry stdout | 2025-09-26 08:37:11,818 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | fd716b277e0f3953150bc7f80ccb3df7cec75c0c16d4d1b2a59f36b2564daae2 gunicorn-registry stdout | 2025-09-26 08:37:11,819 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,819 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:11,819 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:11,824 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:11,824 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l99n0-gbr4a8-zv0', 'x-amz-id-2': 'mg0l99n0-gbr4a8-zv0', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:11 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:11,824 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:11,824 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,824 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:11,824 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,824 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:11,824 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:11,824 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23 gunicorn-registry stdout | 2025-09-26 08:37:11,825 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:11,825 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:11,825 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:11,825 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:11,825 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,825 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,825 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,825 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,825 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,826 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,826 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,826 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:11,826 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:11,826 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:11,826 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:11,826 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,826 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,826 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,826 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:11,826 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,826 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,826 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,826 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,826 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,827 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:11,827 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083711Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:11,827 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083711Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 14d09bb0ef9890c518cccda452ae9244bd4b75c701a39209420c2c9d8c1a8a66 gunicorn-registry stdout | 2025-09-26 08:37:11,827 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 22ffc5baf4611a45f5e82bd00d33fc0134eaf5f9b3b956020ceb7661d2248f13 gunicorn-registry stdout | 2025-09-26 08:37:11,827 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,827 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,827 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:11,827 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:11,831 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:11,832 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l99n8-ggtxcx-pft', 'x-amz-id-2': 'mg0l99n8-ggtxcx-pft', 'ETag': '"3d94f697fe7081dd2516ff729b393c6a-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:11 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:11 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:11,832 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:11,832 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,832 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:11,832 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,832 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:11,833 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:11,833 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:11,833 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:11,834 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'extra_args': {}, 'callbacks': [], 'size': 241} gunicorn-registry stdout | 2025-09-26 08:37:11,834 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,834 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,834 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,834 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,834 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,834 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,834 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,834 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,834 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,834 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,834 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:11,834 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:11,834 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:11,834 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:11,834 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,834 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,835 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,835 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:11,835 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,835 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,835 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,835 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,835 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,835 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:11,835 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b01174b2-b215-4aa0-8b43-d6b7cf342a89 gunicorn-registry stdout | x-amz-date:20250926T083711Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:11,835 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083711Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 231dabab3da2e1ee5654c6d1ba859f55c3391bd7f0739f947c15b3e52cc5a7dc gunicorn-registry stdout | 2025-09-26 08:37:11,835 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | d4a1bb7d44f1a357cdbe4737e85f84ed483c3aff359bacfba32f2c95248b19bc gunicorn-registry stdout | 2025-09-26 08:37:11,835 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,835 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,835 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:11,836 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:11,836 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:11,945 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:11,946 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l99ng-2gl0w-wj1', 'x-amz-id-2': 'mg0l99ng-2gl0w-wj1', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:11 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:11,946 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:11.000Z"3d94f697fe7081dd2516ff729b393c6a-1"' gunicorn-registry stdout | 2025-09-26 08:37:11,946 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,946 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:11,946 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:11,947 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:11,947 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:11,948 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob fd300b4b-5416-4dbe-9832-835270d93e37 with digest sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23 took 0.1233971118927002 seconds gunicorn-registry stdout | 2025-09-26 08:37:11,949 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['fd300b4b-5416-4dbe-9832-835270d93e37', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,953 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,955 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['3be6046c-2727-4d60-afb2-b92fc49b22ae', 241, None, True, True, 'sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23']) gunicorn-registry stdout | 2025-09-26 08:37:11,956 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [52, 9]) gunicorn-registry stdout | 2025-09-26 08:37:11,958 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:11,959 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 52, datetime.datetime(2025, 9, 26, 8, 37, 11, 959723), datetime.datetime(2025, 9, 26, 9, 37, 11, 959706)]) gunicorn-registry stdout | 2025-09-26 08:37:11,961 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [51]) gunicorn-registry stdout | 2025-09-26 08:37:11,965 [257] [DEBUG] [app] Ending request: urn:request:ca94f9db-a540-4122-a437-71383b1c975f (/v2/testorg2/alpine/blobs/uploads/fd300b4b-5416-4dbe-9832-835270d93e37) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:ca94f9db-a540-4122-a437-71383b1c975f', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/fd300b4b-5416-4dbe-9832-835270d93e37?digest=sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'path': '/v2/testorg2/alpine/blobs/uploads/fd300b4b-5416-4dbe-9832-835270d93e37', 'parameters': {'digest': 'sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:11,965 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:11,965 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:11,966 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:11 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/fd300b4b-5416-4dbe-9832-835270d93e37?digest=sha256%3A389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:11 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/fd300b4b-5416-4dbe-9832-835270d93e37?digest=sha256%3A389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.218 1853 0.218) gunicorn-registry stdout | 2025-09-26 08:37:12,019 [250] [DEBUG] [app] Starting request: urn:request:f5422a4d-d11f-43c1-9cd4-bde6a9bf935d (/v2/testorg2/alpine/manifests/sha256:647e9d4b0e5b749e7b0ae8ea3dfd6ef75cff43b09282a4fd16dd0c56963a5edf) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:12,020 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:647e9d4b0e5b749e7b0ae8ea3dfd6ef75cff43b09282a4fd16dd0c56963a5edf', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:12,020 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:12,020 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:12,021 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:12,021 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:12,021 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:12,021 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:12,021 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:12,023 [250] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:12,023 [250] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:12,023 [250] [DEBUG] [data.cache.impl] Found result in cache for key repository_lookup_testorg2_alpine: {'id': 3, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': 0, 'namespace_user': {'stripe_id': None}} gunicorn-registry stdout | 2025-09-26 08:37:12,024 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:647e9d4b0e5b749e7b0ae8ea3dfd6ef75cff43b09282a4fd16dd0c56963a5edf', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,030 [250] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL ((SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1") UNION ALL (SELECT * FROM (SELECT "t5"."id", "t5"."content_checksum", "t5"."image_size", "t5"."uuid", "t5"."cas_path", "t5"."uncompressed_size" FROM "imagestorage" AS "t5" INNER JOIN "uploadedblob" AS "t6" ON ("t6"."blob_id" = "t5"."id") WHERE (("t6"."repository_id" = %s) AND ("t5"."content_checksum" = %s)) LIMIT %s) AS "q2"))', [3, 'sha256:5b9b2fb79d66a16d883863a72a071d210961507c0306497e00cc7aa71dcf5ed4', 1, 3, 'sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 1, 3, 'sha256:ff5e5806f15b500184a129a78dd91a3ae46db62f79667f312262075b676faae2', 1]) gunicorn-registry stdout | 2025-09-26 08:37:12,035 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:647e9d4b0e5b749e7b0ae8ea3dfd6ef75cff43b09282a4fd16dd0c56963a5edf', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,039 [250] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [3, 'sha256:647e9d4b0e5b749e7b0ae8ea3dfd6ef75cff43b09282a4fd16dd0c56963a5edf', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23",\n "size": 241\n },\n "layers": [\n {\n "mediaType": "application/vnd.in-toto+json",\n "digest": "sha256:5b9b2fb79d66a16d883863a72a071d210961507c0306497e00cc7aa71dcf5ed4",\n "size": 80956,\n "annotations": {\n "in-toto.io/predicate-type": "https://spdx.dev/Document"\n }\n },\n {\n "mediaType": "application/vnd.in-toto+json",\n "digest": "sha256:ff5e5806f15b500184a129a78dd91a3ae46db62f79667f312262075b676faae2",\n "size": 5682,\n "annotations": {\n "in-toto.io/predicate-type": "https://slsa.dev/provenance/v0.2"\n }\n }\n ]\n}', 'application/vnd.oci.image.config.v1+json', 86638, None, True, None, True]) gunicorn-registry stdout | 2025-09-26 08:37:12,041 [250] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [3, 20, 50, 3, 20, 51, 3, 20, 52]) gunicorn-registry stdout | 2025-09-26 08:37:12,042 [250] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,044 [250] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [4, 1]) gunicorn-registry stdout | 2025-09-26 08:37:12,046 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 50, 20, 1]) gunicorn-registry stdout | 2025-09-26 08:37:12,048 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 52, 20, 1]) gunicorn-registry stdout | 2025-09-26 08:37:12,050 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 51, 20, 1]) gunicorn-registry stdout | 2025-09-26 08:37:12,052 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,053 [250] [INFO] [data.model.quota] updating namespace size for manifest 20 in namespace 4, QuotaOperation.ADD 86879 gunicorn-registry stdout | 2025-09-26 08:37:12,053 [250] [DEBUG] [peewee] ('UPDATE "quotanamespacesize" SET "size_bytes" = ("quotanamespacesize"."size_bytes" + %s) WHERE ("quotanamespacesize"."namespace_user_id" = %s)', [86879, 4]) gunicorn-registry stdout | 2025-09-26 08:37:12,055 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,056 [250] [INFO] [data.model.quota] updating repository size for manifest 20 in repository 3, QuotaOperation.ADD 86879 gunicorn-registry stdout | 2025-09-26 08:37:12,056 [250] [DEBUG] [peewee] ('UPDATE "quotarepositorysize" SET "size_bytes" = ("quotarepositorysize"."size_bytes" + %s) WHERE ("quotarepositorysize"."repository_id" = %s)', [86879, 3]) gunicorn-registry stdout | 2025-09-26 08:37:12,058 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [20, None, 1758879432057, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,060 [250] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-5998fb61-a9cf-455c-863f-72bdc53f6450', 3, 20, 1758875832057, 1758879432057, False, True, False, 1]) gunicorn-registry stdout | 2025-09-26 08:37:12,064 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,067 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['3be6046c-2727-4d60-afb2-b92fc49b22ae']) gunicorn-registry stdout | 2025-09-26 08:37:12,071 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:12,072 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:12,072 [250] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23'} gunicorn-registry stdout | 2025-09-26 08:37:12,072 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:12,072 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:12,072 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:12,073 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:12,073 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:12,073 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:12,073 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:12,073 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:12,073 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:12,073 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:12,073 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:12,073 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:12,073 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:12,073 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:12,073 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:12,073 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:12,073 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:12,073 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:12,074 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:12,074 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:12,074 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083712Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:12,074 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083712Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | f8eb3794bf814fc1b461c9042461b05cc4515d0205543d5810ba9572b9549de6 gunicorn-registry stdout | 2025-09-26 08:37:12,074 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 4021cf5a672d58ebac1462581be06626ab3abb691ca156b09bc14b579475c246 gunicorn-registry stdout | 2025-09-26 08:37:12,074 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:12,074 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:12,074 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:12,122 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23 HTTP/1.1" 200 241 gunicorn-registry stdout | 2025-09-26 08:37:12,122 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l99u3-40oo5i-bwz', 'x-amz-id-2': 'mg0l99u3-40oo5i-bwz', 'ETag': '"3d94f697fe7081dd2516ff729b393c6a-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:11 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:12 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:12,122 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:12,123 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:12,123 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:12,123 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:12,123 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l99u3-40oo5i-bwz', 'HostId': 'mg0l99u3-40oo5i-bwz', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l99u3-40oo5i-bwz', 'x-amz-id-2': 'mg0l99u3-40oo5i-bwz', 'etag': '"3d94f697fe7081dd2516ff729b393c6a-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:11 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:12 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 11, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"3d94f697fe7081dd2516ff729b393c6a-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:12,125 [250] [DEBUG] [app] Ending request: urn:request:f5422a4d-d11f-43c1-9cd4-bde6a9bf935d (/v2/testorg2/alpine/manifests/sha256:647e9d4b0e5b749e7b0ae8ea3dfd6ef75cff43b09282a4fd16dd0c56963a5edf) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:f5422a4d-d11f-43c1-9cd4-bde6a9bf935d', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/manifests/sha256:647e9d4b0e5b749e7b0ae8ea3dfd6ef75cff43b09282a4fd16dd0c56963a5edf', 'path': '/v2/testorg2/alpine/manifests/sha256:647e9d4b0e5b749e7b0ae8ea3dfd6ef75cff43b09282a4fd16dd0c56963a5edf', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'size': 241}, 'layers': [{'mediaType': 'application/vnd.in-toto+json', 'digest': 'sha256:5b9b2fb79d66a16d883863a72a071d210961507c0306497e00cc7aa71dcf5ed4', 'size': 80956, 'annotations': {'in-toto.io/predicate-type': 'https://spdx.dev/Document'}}, {'mediaType': 'application/vnd.in-toto+json', 'digest': 'sha256:ff5e5806f15b500184a129a78dd91a3ae46db62f79667f312262075b676faae2', 'size': 5682, 'annotations': {'in-toto.io/predicate-type': 'https://slsa.dev/provenance/v0.2'}}]}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:12,125 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:12,125 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:12,126 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:12 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:647e9d4b0e5b749e7b0ae8ea3dfd6ef75cff43b09282a4fd16dd0c56963a5edf HTTP/1.1" 201 2 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:12 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:647e9d4b0e5b749e7b0ae8ea3dfd6ef75cff43b09282a4fd16dd0c56963a5edf HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.109 2661 0.109) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:12 +0000] "GET /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ETXhMQ0pwWVhRaU9qRTNOVGc0TnpVNE16RXNJbVY0Y0NJNk1UYzFPRGczTmpRek1Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE1DOWhNR0UwWW1WaFlURTVOakJpWW1Fek5UTXdOalprTmpjMFlXRXdaVE16TnpoaU9EVTJZakE1WlRaa00yWTNNRFJrTVRjMU5XUmhZVFZrTm1NeFpETTVQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDAyUXpGT2JHWTVlVkJzYUd0c1pUWnNXbFp0YVRsTGEwNUhSWGNsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRNeElpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuTjl2Z1FnQWhWUFlBZDNONkFPWGdHZ3ZNem9BTVpoOVRjVTl0U1dZd1ktc01fNl9tYnZBbTBXaHlLZlJsRWdKV3lMeFlaLU9jVXFlRy1lbk5NZWR4MFl3VEpwNnBGbjRNT285blJ6Z29CVC1UT3pBX2xnam5HSElRX2NOYnd0WG1fZktxYy0wUHo5MmVxWEs0LWdPUnNCZ1pjdFhGMTVLX1RBTmh4NTlRYnpYNndIT0Z5eURPaWFKQmFBbWwyYmR2a0pNN0R5TEFRc24zMjVZNHdYNDBuQTFqdmRpMkVlR3RqM3JGUjdKWkZac1NWazVZdURzdElBMElIQjQzZzJ1SXVFUDJuT0NOM0dFdVVPNjZvMTJxZEFwZGJ4VVI4VF9FbnQ0U0dNV2RxVkJVbVpaQUJ4NjZRRWNYaVFwOVpIcDJ0cTRfXzBEOFphbGJ1Y0gwUjNlQVN3/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a0/a0a4beaa1960bba353066d674aa0e3378b856b09e6d3f704d1755daa5d6c1d39?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=6C1Nlf9yPlhkle6lZVmi9KkNGEw%3D&Expires=1758876431 HTTP/1.1" 200 3495579 "-" "Go-http-client/1.1" (0.450 2405 0.446) gunicorn-registry stdout | 2025-09-26 08:37:12,356 [257] [DEBUG] [app] Starting request: urn:request:76d1aa46-3327-4dad-b3c7-e6b916234944 (/v2/testorg2/alpine/blobs/sha256:06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:12,356 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:12,356 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:12,356 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:12,357 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:12,358 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:12,358 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:12,358 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:12,358 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:12,359 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,363 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,367 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:12,367 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595_2 gunicorn-registry stdout | 2025-09-26 08:37:12,368 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:12,368 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,373 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,376 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,380 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,383 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,387 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595_2: None gunicorn-registry stdout | 2025-09-26 08:37:12,387 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595_2: None gunicorn-registry stdout | 2025-09-26 08:37:12,387 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:12,388 [257] [DEBUG] [app] Ending request: urn:request:76d1aa46-3327-4dad-b3c7-e6b916234944 (/v2/testorg2/alpine/blobs/sha256:06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:76d1aa46-3327-4dad-b3c7-e6b916234944', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595', 'path': '/v2/testorg2/alpine/blobs/sha256:06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:12,388 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:12,388 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:12,388 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:12 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:12 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.033 1718 0.033) gunicorn-registry stdout | 2025-09-26 08:37:12,429 [257] [DEBUG] [app] Starting request: urn:request:95b68575-7c67-411c-8038-13dbe28eebf4 (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:12,429 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:12,429 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:12,429 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:12,430 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:12,430 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:12,430 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:12,430 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:12,430 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:12,431 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,435 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,439 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,442 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,446 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,449 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,453 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:12,457 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:12,462 [257] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, '31fda652-accb-4bc2-b51a-867582fc6605', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 12, 461809)]) gunicorn-registry stdout | 2025-09-26 08:37:12,467 [257] [DEBUG] [app] Ending request: urn:request:95b68575-7c67-411c-8038-13dbe28eebf4 (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:95b68575-7c67-411c-8038-13dbe28eebf4', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:12,467 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:12,467 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:12,468 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:12 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:12 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.040 1697 0.040) proxycacheblobworker stdout | 2025-09-26 08:37:13,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:37:13,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:13.548017+00:00 (in 0.002404 seconds) proxycacheblobworker stdout | 2025-09-26 08:37:13,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:23 GMT)" (scheduled at 2025-09-26 08:37:13.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:37:13,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:37:13,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 37, 13, 546062), True, datetime.datetime(2025, 9, 26, 8, 37, 13, 546062), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:37:13,548 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:37:13,548 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:23.545186+00:00 (in 9.996835 seconds) proxycacheblobworker stdout | 2025-09-26 08:37:13,548 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:13 GMT)" (scheduled at 2025-09-26 08:37:13.548017+00:00) proxycacheblobworker stdout | 2025-09-26 08:37:13,548 [69] [DEBUG] [workers.queueworker] Running watchdog. proxycacheblobworker stdout | 2025-09-26 08:37:13,549 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:13 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:37:13,561 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:37:13,561 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:37:13,561 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:23 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:37:13,590 [250] [DEBUG] [app] Starting request: urn:request:c44b9b17-2dc5-4200-bb51-2fcbc2f9b849 (/v2/testorg2/alpine/blobs/uploads/969c43b7-75d9-42d9-8231-53bbd9553b6d) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:13,590 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '969c43b7-75d9-42d9-8231-53bbd9553b6d', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:13,590 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:13,590 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:13,591 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:13,591 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:13,591 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:13,591 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:13,592 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:13,592 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:13,603 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:13,615 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:13,624 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:13,636 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:13,648 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:13,659 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:13,671 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:13,682 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['969c43b7-75d9-42d9-8231-53bbd9553b6d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:13,693 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:13,694 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:13,694 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:13,695 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:13,695 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:13,695 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,695 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,696 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,696 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,696 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,696 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,696 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,696 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,696 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:13,696 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:13,696 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:13,696 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:13,696 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,696 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,696 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,696 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:13,696 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,696 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,697 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,697 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,697 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:13,697 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083713Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:13,697 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083713Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 6d802b907e2e485091be27b95117b66d756965bb83e5db329856290d44816d7a gunicorn-registry stdout | 2025-09-26 08:37:13,697 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 5eb730eda7567e2cd3ec26a2c7194a98b6072332d778776fe9994f12a825b178 gunicorn-registry stdout | 2025-09-26 08:37:13,697 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,697 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:13,697 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:13,705 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:13,705 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9b36-ebmebf-lo9', 'x-amz-id-2': 'mg0l9b36-ebmebf-lo9', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:13 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:13,705 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba68d650b9d73ec60008f934ea' gunicorn-registry stdout | 2025-09-26 08:37:13,705 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,705 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:13,705 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,705 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9b36-ebmebf-lo9', 'HostId': 'mg0l9b36-ebmebf-lo9', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9b36-ebmebf-lo9', 'x-amz-id-2': 'mg0l9b36-ebmebf-lo9', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:13 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba', 'UploadId': '68d650b9d73ec60008f934ea'} gunicorn-registry stdout | 2025-09-26 08:37:13,706 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:13,706 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:13,706 [250] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:13,707 [250] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba', 'UploadId': '68d650b9d73ec60008f934ea', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50da9f600>, 'ContentLength': 593} gunicorn-registry stdout | 2025-09-26 08:37:13,707 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,707 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,707 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,707 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,707 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,707 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,707 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,707 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,707 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:13,707 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:13,707 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:13,707 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:13,707 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,708 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,708 [250] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:13,708 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,708 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,708 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba', 'query_string': {'uploadId': '68d650b9d73ec60008f934ea', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '593', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'PiAlJYSkcLCaace9palG5g==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50da9f600>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba?uploadId=68d650b9d73ec60008f934ea&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba', 'UploadId': '68d650b9d73ec60008f934ea', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50da9f600>, 'ContentLength': 593}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:13,708 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,708 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,708 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,708 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,708 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:13,708 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba gunicorn-registry stdout | partNumber=1&uploadId=68d650b9d73ec60008f934ea gunicorn-registry stdout | content-length:593 gunicorn-registry stdout | content-md5:PiAlJYSkcLCaace9palG5g== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083713Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:13,708 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083713Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 770fff0e2e851d81969c53c07432b03f5720aecbba8adec59584dbe824215b36 gunicorn-registry stdout | 2025-09-26 08:37:13,708 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ee1735a2d3aaf5054bd7841a69680e2dcb367ae6c88084fa0c8bc68d806b8ec0 gunicorn-registry stdout | 2025-09-26 08:37:13,708 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,708 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:13,709 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:13,709 [250] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:13,710 [250] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. manifestsubjectbackfillworker stdout | 2025-09-26 08:37:13,758 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:37:13,758 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:13.760217+00:00 (in 0.001513 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:37:13,758 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:13 GMT)" (scheduled at 2025-09-26 08:37:13.757911+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:37:13,760 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."subject_backfilled" = %s) OR ("t1"."subject_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:37:13,760 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:37:13,760 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:13.757911+00:00 (in 59.997179 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:37:13,760 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:13 GMT)" (scheduled at 2025-09-26 08:37:13.760217+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:37:13,761 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."artifact_type_backfilled" = %s) OR ("t1"."artifact_type_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:37:13,787 [64] [DEBUG] [__main__] Manifest subject backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:37:13,787 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:37:13,792 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:13 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:37:13,800 [64] [DEBUG] [__main__] Manifest artifact_type backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:37:13,801 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:37:13,801 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:13 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:37:13,804 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba?uploadId=68d650b9d73ec60008f934ea&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:13,804 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9b3h-ei4wdw-6ja', 'x-amz-id-2': 'mg0l9b3h-ei4wdw-6ja', 'ETag': '"3e20252584a470b09a69c7bda5a946e6"', 'Date': 'Fri, 26 Sep 2025 08:37:13 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:13,804 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:13,804 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,804 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:13,804 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,805 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9b3h-ei4wdw-6ja', 'HostId': 'mg0l9b3h-ei4wdw-6ja', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9b3h-ei4wdw-6ja', 'x-amz-id-2': 'mg0l9b3h-ei4wdw-6ja', 'etag': '"3e20252584a470b09a69c7bda5a946e6"', 'date': 'Fri, 26 Sep 2025 08:37:13 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"3e20252584a470b09a69c7bda5a946e6"'} gunicorn-registry stdout | 2025-09-26 08:37:13,805 [250] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba', 'UploadId': '68d650b9d73ec60008f934ea', 'MultipartUpload': {'Parts': [{'ETag': '"3e20252584a470b09a69c7bda5a946e6"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:13,805 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,805 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,805 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,805 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,805 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,805 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,805 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,805 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:13,805 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:13,805 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:13,805 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:13,806 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,806 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,806 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,806 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba', 'query_string': {'uploadId': '68d650b9d73ec60008f934ea'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"3e20252584a470b09a69c7bda5a946e6"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba?uploadId=68d650b9d73ec60008f934ea', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba', 'UploadId': '68d650b9d73ec60008f934ea', 'MultipartUpload': {'Parts': [{'ETag': '"3e20252584a470b09a69c7bda5a946e6"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:13,806 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,806 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,806 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,806 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,806 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:13,806 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba gunicorn-registry stdout | uploadId=68d650b9d73ec60008f934ea gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:2f72d5ed90118b1220b5512a770731a0ad51a4b9b544aed07d2dc76ac23fe6de gunicorn-registry stdout | x-amz-date:20250926T083713Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 2f72d5ed90118b1220b5512a770731a0ad51a4b9b544aed07d2dc76ac23fe6de gunicorn-registry stdout | 2025-09-26 08:37:13,806 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083713Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 1b895081dc841760da16cdd7009821b4f7d56aa6a9d0dd541c90a1e3244ac67b gunicorn-registry stdout | 2025-09-26 08:37:13,806 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 692bdee7ef7bcbc6a1027a953aa8acc32c2bce47e82a0273aef8a34f1840f06d gunicorn-registry stdout | 2025-09-26 08:37:13,806 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,807 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:13,807 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:13,822 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba?uploadId=68d650b9d73ec60008f934ea HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:13,823 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9b67-g4kf5h-ea1', 'x-amz-id-2': 'mg0l9b67-g4kf5h-ea1', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:13 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:13,823 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba"3e5d99cc283698e68dea92030b724e28-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba?uploadId=68d650b9d73ec60008f934ea' gunicorn-registry stdout | 2025-09-26 08:37:13,823 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,823 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,823 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:13,823 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,823 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9b67-g4kf5h-ea1', 'HostId': 'mg0l9b67-g4kf5h-ea1', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9b67-g4kf5h-ea1', 'x-amz-id-2': 'mg0l9b67-g4kf5h-ea1', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:13 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba?uploadId=68d650b9d73ec60008f934ea', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba', 'ETag': '"3e5d99cc283698e68dea92030b724e28-1"'} gunicorn-registry stdout | 2025-09-26 08:37:13,823 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:13,824 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:13,824 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 593 bytes to blob 969c43b7-75d9-42d9-8231-53bbd9553b6d took 0.13083100318908691 seconds gunicorn-registry stdout | 2025-09-26 08:37:13,825 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['969c43b7-75d9-42d9-8231-53bbd9553b6d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:13,830 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '969c43b7-75d9-42d9-8231-53bbd9553b6d', 593, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwfSwidmFyaWFudCI6InY2In0xYzFkNWY1ZGE5YWFjMDNmYmZhODkwYWFmZDRkYmFiNDY0OWU5NDMzYzUzNDkiXREAAAAAAAAAABIAAAAAAAAkiHwxbB9doxBAPbl82SpxOMptvYv4b0erjRxXVk90opRiLg==', 9, '{"chunks": [["uploads/9b966ea7-c949-48b7-a623-53a3c43842ba", 0, 593]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 13, 544112), None, None, 53]) gunicorn-registry stdout | 2025-09-26 08:37:13,834 [250] [DEBUG] [app] Ending request: urn:request:c44b9b17-2dc5-4200-bb51-2fcbc2f9b849 (/v2/testorg2/alpine/blobs/uploads/969c43b7-75d9-42d9-8231-53bbd9553b6d) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:c44b9b17-2dc5-4200-bb51-2fcbc2f9b849', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/969c43b7-75d9-42d9-8231-53bbd9553b6d', 'path': '/v2/testorg2/alpine/blobs/uploads/969c43b7-75d9-42d9-8231-53bbd9553b6d', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:13,834 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:13,834 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:13,835 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:13 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/969c43b7-75d9-42d9-8231-53bbd9553b6d HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:13 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/969c43b7-75d9-42d9-8231-53bbd9553b6d HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.246 2369 0.246) gunicorn-registry stdout | 2025-09-26 08:37:13,875 [250] [DEBUG] [app] Starting request: urn:request:301408f8-6070-4b45-91e7-607f156a2021 (/v2/testorg2/alpine/blobs/uploads/969c43b7-75d9-42d9-8231-53bbd9553b6d) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:13,875 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '969c43b7-75d9-42d9-8231-53bbd9553b6d', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:13,875 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:13,875 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:13,877 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:13,877 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:13,877 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:13,877 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:13,877 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:13,878 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:13,883 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:13,886 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:13,890 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:13,893 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:13,897 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:13,900 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:13,904 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:13,907 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['969c43b7-75d9-42d9-8231-53bbd9553b6d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:13,911 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:13,911 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:13,911 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:13,913 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:13,913 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9e984e8a-e4e9-4688-815f-fad338a40846', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:13,913 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,913 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,913 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,913 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,914 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,914 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,914 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,914 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,914 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:13,914 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:13,914 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:13,914 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:13,914 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,914 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,914 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,915 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/9e984e8a-e4e9-4688-815f-fad338a40846?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9e984e8a-e4e9-4688-815f-fad338a40846', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9e984e8a-e4e9-4688-815f-fad338a40846?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9e984e8a-e4e9-4688-815f-fad338a40846', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:13,915 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,915 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,915 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,915 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,915 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:13,915 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9e984e8a-e4e9-4688-815f-fad338a40846 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083713Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:13,915 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083713Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ac8f1a77ca85c35b9d86af65927b74adb95ff6a406ef8f3411d3d7f77ad069cf gunicorn-registry stdout | 2025-09-26 08:37:13,915 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 8131219731034acf0bbd82754835f39aebb67b4e62c4140735070cf1a3c1f9df gunicorn-registry stdout | 2025-09-26 08:37:13,916 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,916 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:13,916 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:13,922 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9e984e8a-e4e9-4688-815f-fad338a40846?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:13,923 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9b99-1eoggp-dbr', 'x-amz-id-2': 'mg0l9b99-1eoggp-dbr', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:13 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:13,923 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/9e984e8a-e4e9-4688-815f-fad338a4084668d650b9d73ec60008f934f0' gunicorn-registry stdout | 2025-09-26 08:37:13,923 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,923 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:13,923 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,923 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9b99-1eoggp-dbr', 'HostId': 'mg0l9b99-1eoggp-dbr', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9b99-1eoggp-dbr', 'x-amz-id-2': 'mg0l9b99-1eoggp-dbr', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:13 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9e984e8a-e4e9-4688-815f-fad338a40846', 'UploadId': '68d650b9d73ec60008f934f0'} gunicorn-registry stdout | 2025-09-26 08:37:13,923 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:13,924 [250] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9e984e8a-e4e9-4688-815f-fad338a40846', 'UploadId': '68d650b9d73ec60008f934f0'} gunicorn-registry stdout | 2025-09-26 08:37:13,924 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,924 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,924 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,924 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,924 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,925 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,925 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:13,925 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:13,925 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:13,925 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:13,925 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,925 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,925 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,925 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/9e984e8a-e4e9-4688-815f-fad338a40846', 'query_string': {'uploadId': '68d650b9d73ec60008f934f0'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9e984e8a-e4e9-4688-815f-fad338a40846', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9e984e8a-e4e9-4688-815f-fad338a40846?uploadId=68d650b9d73ec60008f934f0', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9e984e8a-e4e9-4688-815f-fad338a40846', 'UploadId': '68d650b9d73ec60008f934f0'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:13,925 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,926 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,926 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,926 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,926 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:13,926 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9e984e8a-e4e9-4688-815f-fad338a40846 gunicorn-registry stdout | uploadId=68d650b9d73ec60008f934f0 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083713Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:13,926 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083713Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | a7c34f8c62fae29a7e9c0c3d4b1843150647fc150007bcb2792474481d83bd2a gunicorn-registry stdout | 2025-09-26 08:37:13,926 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | be4129a32e2eccd5920c4adef12169259cec31b5e963ec89c4dc89ca66489260 gunicorn-registry stdout | 2025-09-26 08:37:13,927 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,927 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:13,927 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:13,934 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9e984e8a-e4e9-4688-815f-fad338a40846?uploadId=68d650b9d73ec60008f934f0 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:13,934 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9b9k-1l3347-x7r', 'x-amz-id-2': 'mg0l9b9k-1l3347-x7r', 'Date': 'Fri, 26 Sep 2025 08:37:13 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:13,934 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:13,934 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,934 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:13,934 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,934 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9b9k-1l3347-x7r', 'HostId': 'mg0l9b9k-1l3347-x7r', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9b9k-1l3347-x7r', 'x-amz-id-2': 'mg0l9b9k-1l3347-x7r', 'date': 'Fri, 26 Sep 2025 08:37:13 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:13,935 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 969c43b7-75d9-42d9-8231-53bbd9553b6d took 0.023167848587036133 seconds gunicorn-registry stdout | 2025-09-26 08:37:13,936 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['969c43b7-75d9-42d9-8231-53bbd9553b6d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:13,939 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '969c43b7-75d9-42d9-8231-53bbd9553b6d', 593, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwfSwidmFyaWFudCI6InY2In0xYzFkNWY1ZGE5YWFjMDNmYmZhODkwYWFmZDRkYmFiNDY0OWU5NDMzYzUzNDkiXREAAAAAAAAAABIAAAAAAAAkiHwxbB9doxBAPbl82SpxOMptvYv4b0erjRxXVk90opRiLg==', 9, '{"chunks": [["uploads/9b966ea7-c949-48b7-a623-53a3c43842ba", 0, 593]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 13, 544112), None, None, 53]) gunicorn-registry stdout | 2025-09-26 08:37:13,943 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:13,943 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:13,943 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:13,945 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:13,945 [250] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b'} gunicorn-registry stdout | 2025-09-26 08:37:13,945 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,946 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,946 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,946 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,946 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,946 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,946 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,946 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:13,946 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:13,946 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:13,947 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:13,947 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,947 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,947 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,947 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:13,947 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,947 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,947 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,947 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,948 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:13,948 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083713Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:13,948 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083713Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 5f1b7c65c9067a13fe255770202e7658a363eb8135293d6bf9e38ce7afc83424 gunicorn-registry stdout | 2025-09-26 08:37:13,948 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | a5a0f87d4d5e670707d5759e6a5bc8f3bbaed3bf6b0f3cb1efc02151dbc381c3 gunicorn-registry stdout | 2025-09-26 08:37:13,948 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,948 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:13,949 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:13,953 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:13,953 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ba6-1xz34b-trt', 'x-amz-id-2': 'mg0l9ba6-1xz34b-trt', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:13 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:13,954 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:13,954 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,954 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:13,954 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,954 [250] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:13,954 [250] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:13,954 [250] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b gunicorn-registry stdout | 2025-09-26 08:37:13,955 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:13,955 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:13,955 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:13,956 [250] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:13,956 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,956 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,956 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,956 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,956 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,956 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,956 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,956 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:13,956 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:13,956 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:13,956 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:13,957 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,957 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,957 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,957 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:13,957 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,957 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,957 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,957 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,958 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,958 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:13,958 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083713Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:13,958 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083713Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4b8db6798b99516fd5ec8a64bb6c99fe988d5a727fa66eab2cbb78bf92946a81 gunicorn-registry stdout | 2025-09-26 08:37:13,958 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 7fb66282340bba6f92dfebc69d3d5a9e4268518e4f843d19ff23bc5fc4d5f5e8 gunicorn-registry stdout | 2025-09-26 08:37:13,958 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,958 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,959 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:13,959 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:13,963 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:13,963 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9bag-23v3v7-cx1', 'x-amz-id-2': 'mg0l9bag-23v3v7-cx1', 'ETag': '"3e5d99cc283698e68dea92030b724e28-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:13 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '593', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:13 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:13,963 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:13,964 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,964 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:13,964 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,964 [250] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:13,964 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:13,964 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:13,964 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:13,965 [250] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'extra_args': {}, 'callbacks': [], 'size': 593} gunicorn-registry stdout | 2025-09-26 08:37:13,965 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,965 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,965 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,965 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,965 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,965 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,965 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,965 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,965 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,965 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,965 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:13,965 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:13,965 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:13,965 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:13,966 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,966 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,966 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,966 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:13,966 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,966 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,966 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,966 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,966 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,967 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:13,967 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/9b966ea7-c949-48b7-a623-53a3c43842ba gunicorn-registry stdout | x-amz-date:20250926T083713Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:13,967 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083713Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 8ec96bf603659682edcdb6362f44ee5fd5ee141b767729d2d25bf296100cbce4 gunicorn-registry stdout | 2025-09-26 08:37:13,968 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | e73ecc5cc8e177876aa45cc3a14911ca5da9d98ed7ea114ffd522d883be488b2 gunicorn-registry stdout | 2025-09-26 08:37:13,968 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,968 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,968 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:13,968 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:13,969 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:13,994 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:13,995 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9baq-29pk0q-1ad1', 'x-amz-id-2': 'mg0l9baq-29pk0q-1ad1', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:13 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:13,995 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:13.000Z"3e5d99cc283698e68dea92030b724e28-1"' gunicorn-registry stdout | 2025-09-26 08:37:13,995 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,995 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:13,995 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:13,995 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:13,996 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:13,996 [250] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 969c43b7-75d9-42d9-8231-53bbd9553b6d with digest sha256:dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b took 0.04221510887145996 seconds gunicorn-registry stdout | 2025-09-26 08:37:13,997 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['969c43b7-75d9-42d9-8231-53bbd9553b6d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,000 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,002 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['25c5da1f-e539-4fdd-a72a-11aeb689b3b1', 593, None, True, True, 'sha256:dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b']) gunicorn-registry stdout | 2025-09-26 08:37:14,004 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [54, 9]) gunicorn-registry stdout | 2025-09-26 08:37:14,006 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,007 [250] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 54, datetime.datetime(2025, 9, 26, 8, 37, 14, 7358), datetime.datetime(2025, 9, 26, 9, 37, 14, 7342)]) gunicorn-registry stdout | 2025-09-26 08:37:14,008 [250] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [53]) gunicorn-registry stdout | 2025-09-26 08:37:14,012 [250] [DEBUG] [app] Ending request: urn:request:301408f8-6070-4b45-91e7-607f156a2021 (/v2/testorg2/alpine/blobs/uploads/969c43b7-75d9-42d9-8231-53bbd9553b6d) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:301408f8-6070-4b45-91e7-607f156a2021', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/969c43b7-75d9-42d9-8231-53bbd9553b6d?digest=sha256:dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'path': '/v2/testorg2/alpine/blobs/uploads/969c43b7-75d9-42d9-8231-53bbd9553b6d', 'parameters': {'digest': 'sha256:dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:14,012 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:14,012 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:14,013 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:14 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/969c43b7-75d9-42d9-8231-53bbd9553b6d?digest=sha256%3Adbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:14 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/969c43b7-75d9-42d9-8231-53bbd9553b6d?digest=sha256%3Adbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.139 1853 0.139) gunicorn-registry stdout | 2025-09-26 08:37:14,070 [257] [DEBUG] [app] Starting request: urn:request:e53a31a8-a976-43ad-80aa-5f602c22e3d4 (/v2/testorg2/alpine/manifests/sha256:17389a4a082a13cc17be63544e87b4a4de24f2e0dd1c8a6d5d31b16abcde9128) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:14,071 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:17389a4a082a13cc17be63544e87b4a4de24f2e0dd1c8a6d5d31b16abcde9128', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:14,071 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:14,071 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:14,072 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:14,072 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:14,072 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:14,072 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:14,073 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:14,074 [257] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:14,074 [257] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:14,074 [257] [DEBUG] [data.cache.impl] Found result in cache for key repository_lookup_testorg2_alpine: {'id': 3, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': 0, 'namespace_user': {'stripe_id': None}} gunicorn-registry stdout | 2025-09-26 08:37:14,075 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:17389a4a082a13cc17be63544e87b4a4de24f2e0dd1c8a6d5d31b16abcde9128', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,080 [257] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [3, 'sha256:dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 1, 3, 'sha256:06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595', 1]) gunicorn-registry stdout | 2025-09-26 08:37:14,084 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:17389a4a082a13cc17be63544e87b4a4de24f2e0dd1c8a6d5d31b16abcde9128', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,088 [257] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [3, 'sha256:17389a4a082a13cc17be63544e87b4a4de24f2e0dd1c8a6d5d31b16abcde9128', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b",\n "size": 593\n },\n "layers": [\n {\n "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",\n "digest": "sha256:06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595",\n "size": 3500910\n }\n ],\n "annotations": {\n "com.docker.official-images.bashbrew.arch": "arm32v6",\n "org.opencontainers.image.base.name": "scratch",\n "org.opencontainers.image.created": "2025-07-15T11:01:16Z",\n "org.opencontainers.image.revision": "01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e",\n "org.opencontainers.image.source": "https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:armhf",\n "org.opencontainers.image.url": "https://hub.docker.com/_/alpine",\n "org.opencontainers.image.version": "3.22.1"\n }\n}', 'application/vnd.oci.image.config.v1+json', 3500910, None, True, None, True]) gunicorn-registry stdout | 2025-09-26 08:37:14,091 [257] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [3, 21, 53, 3, 21, 54]) gunicorn-registry stdout | 2025-09-26 08:37:14,093 [257] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,094 [257] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [4, 1]) gunicorn-registry stdout | 2025-09-26 08:37:14,096 [257] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 54, 21, 1]) gunicorn-registry stdout | 2025-09-26 08:37:14,097 [257] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 53, 21, 1]) gunicorn-registry stdout | 2025-09-26 08:37:14,099 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,100 [257] [INFO] [data.model.quota] updating namespace size for manifest 21 in namespace 4, QuotaOperation.ADD 3501503 gunicorn-registry stdout | 2025-09-26 08:37:14,100 [257] [DEBUG] [peewee] ('UPDATE "quotanamespacesize" SET "size_bytes" = ("quotanamespacesize"."size_bytes" + %s) WHERE ("quotanamespacesize"."namespace_user_id" = %s)', [3501503, 4]) gunicorn-registry stdout | 2025-09-26 08:37:14,102 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,103 [257] [INFO] [data.model.quota] updating repository size for manifest 21 in repository 3, QuotaOperation.ADD 3501503 gunicorn-registry stdout | 2025-09-26 08:37:14,103 [257] [DEBUG] [peewee] ('UPDATE "quotarepositorysize" SET "size_bytes" = ("quotarepositorysize"."size_bytes" + %s) WHERE ("quotarepositorysize"."repository_id" = %s)', [3501503, 3]) gunicorn-registry stdout | 2025-09-26 08:37:14,105 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [21, None, 1758879434105, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,107 [257] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-a9596032-e4ee-41c7-9742-368c6ee36d1d', 3, 21, 1758875834105, 1758879434105, False, True, False, 1]) gunicorn-registry stdout | 2025-09-26 08:37:14,112 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,115 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['25c5da1f-e539-4fdd-a72a-11aeb689b3b1']) gunicorn-registry stdout | 2025-09-26 08:37:14,119 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:14,120 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:14,120 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b'} gunicorn-registry stdout | 2025-09-26 08:37:14,120 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,120 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,120 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,120 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,120 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,120 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,120 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,120 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:14,120 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:14,120 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:14,120 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:14,121 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,121 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,121 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,121 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:14,121 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,121 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,121 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,121 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,121 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:14,121 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083714Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:14,121 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083714Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 0accfb5fe5f606b2b5b3fa6a8bc58081577fd8496381d1a3fb40226e1e566dc1 gunicorn-registry stdout | 2025-09-26 08:37:14,121 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 253c3e877edd1e76a93235215f0157e87846124f0b5e475ee996d48392576a10 gunicorn-registry stdout | 2025-09-26 08:37:14,121 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,122 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:14,122 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:14,169 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b HTTP/1.1" 200 593 gunicorn-registry stdout | 2025-09-26 08:37:14,169 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9bez-4st0vm-1b5n', 'x-amz-id-2': 'mg0l9bez-4st0vm-1b5n', 'ETag': '"3e5d99cc283698e68dea92030b724e28-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:13 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '593', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:14 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:14,169 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:14,170 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,170 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:14,170 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,170 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9bez-4st0vm-1b5n', 'HostId': 'mg0l9bez-4st0vm-1b5n', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9bez-4st0vm-1b5n', 'x-amz-id-2': 'mg0l9bez-4st0vm-1b5n', 'etag': '"3e5d99cc283698e68dea92030b724e28-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:13 GMT', 'content-type': 'application/octet-stream', 'content-length': '593', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:14 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 13, tzinfo=tzutc()), 'ContentLength': 593, 'ETag': '"3e5d99cc283698e68dea92030b724e28-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:14,172 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [21, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,177 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['d4652679-b654-41dd-bb3c-d260787925e5', 'com.docker.official-images.bashbrew.arch', 'arm32v6', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:14,180 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 21, 64]) gunicorn-registry stdout | 2025-09-26 08:37:14,184 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [21, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,189 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['f65519a7-f765-4dc4-a958-83401c93211c', 'org.opencontainers.image.base.name', 'scratch', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:14,192 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 21, 65]) gunicorn-registry stdout | 2025-09-26 08:37:14,196 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [21, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,200 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['17d486d5-04fe-46a1-834d-c4ed5e0f0e7f', 'org.opencontainers.image.created', '2025-07-15T11:01:16Z', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:14,203 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 21, 66]) gunicorn-registry stdout | 2025-09-26 08:37:14,207 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [21, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,211 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['54081e62-245a-4bab-ae25-2b1d00d85d75', 'org.opencontainers.image.revision', '01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:14,213 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 21, 67]) gunicorn-registry stdout | 2025-09-26 08:37:14,217 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [21, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,221 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['6a057535-fa15-48ce-811e-2cfc881639bf', 'org.opencontainers.image.source', 'https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:armhf', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:14,224 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 21, 68]) gunicorn-registry stdout | 2025-09-26 08:37:14,228 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [21, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,232 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['9f608a6a-274f-431e-aa00-b8f010f80d7f', 'org.opencontainers.image.url', 'https://hub.docker.com/_/alpine', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:14,234 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 21, 69]) gunicorn-registry stdout | 2025-09-26 08:37:14,238 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [21, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,241 [257] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['e0c2b6ea-598e-4940-98a8-aa6b47de1626', 'org.opencontainers.image.version', '3.22.1', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:14,244 [257] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 21, 70]) gunicorn-registry stdout | 2025-09-26 08:37:14,247 [257] [DEBUG] [app] Ending request: urn:request:e53a31a8-a976-43ad-80aa-5f602c22e3d4 (/v2/testorg2/alpine/manifests/sha256:17389a4a082a13cc17be63544e87b4a4de24f2e0dd1c8a6d5d31b16abcde9128) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:e53a31a8-a976-43ad-80aa-5f602c22e3d4', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/manifests/sha256:17389a4a082a13cc17be63544e87b4a4de24f2e0dd1c8a6d5d31b16abcde9128', 'path': '/v2/testorg2/alpine/manifests/sha256:17389a4a082a13cc17be63544e87b4a4de24f2e0dd1c8a6d5d31b16abcde9128', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'size': 593}, 'layers': [{'mediaType': 'application/vnd.oci.image.layer.v1.tar+gzip', 'digest': 'sha256:06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595', 'size': 3500910}], 'annotations': {'com.docker.official-images.bashbrew.arch': 'arm32v6', 'org.opencontainers.image.base.name': 'scratch', 'org.opencontainers.image.created': '2025-07-15T11:01:16Z', 'org.opencontainers.image.revision': '01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e', 'org.opencontainers.image.source': 'https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:armhf', 'org.opencontainers.image.url': 'https://hub.docker.com/_/alpine', 'org.opencontainers.image.version': '3.22.1'}}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:14,247 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:14,247 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:14,248 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:14 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:17389a4a082a13cc17be63544e87b4a4de24f2e0dd1c8a6d5d31b16abcde9128 HTTP/1.1" 201 2 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:14 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:17389a4a082a13cc17be63544e87b4a4de24f2e0dd1c8a6d5d31b16abcde9128 HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.179 2847 0.179) gunicorn-registry stdout | 2025-09-26 08:37:14,581 [254] [DEBUG] [app] Starting request: urn:request:a5c2eb8a-1170-473d-9d17-71cc0fb8d360 (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:14,581 [254] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:14,581 [254] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:14,581 [254] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:14,582 [254] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:14,582 [254] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:14,582 [254] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:14,583 [254] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:14,583 [254] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:14,584 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,593 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,597 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,600 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,604 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,608 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,611 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:14,614 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,618 [254] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, '2730884f-63ae-4c6c-97e5-72bf23136e41', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 14, 617983)]) gunicorn-registry stdout | 2025-09-26 08:37:14,623 [254] [DEBUG] [app] Ending request: urn:request:a5c2eb8a-1170-473d-9d17-71cc0fb8d360 (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:a5c2eb8a-1170-473d-9d17-71cc0fb8d360', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:14,623 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:14,623 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:14,624 [254] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:14 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:14 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.044 1697 0.044) gunicorn-registry stdout | 2025-09-26 08:37:14,665 [253] [DEBUG] [app] Starting request: urn:request:4db056e0-b6e5-4bb5-ab4e-77c1c2378fab (/v2/testorg2/alpine/blobs/uploads/2730884f-63ae-4c6c-97e5-72bf23136e41) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:14,665 [253] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '2730884f-63ae-4c6c-97e5-72bf23136e41', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:14,665 [253] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:14,665 [253] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:14,666 [253] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:14,667 [253] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:14,667 [253] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:14,667 [253] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:14,667 [253] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:14,668 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,672 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,676 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,681 [253] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,685 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,689 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,693 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,696 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:14,700 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['2730884f-63ae-4c6c-97e5-72bf23136e41', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,704 [253] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:14,704 [253] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:14,705 [253] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:14,706 [253] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:14,706 [253] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:14,706 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,706 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,706 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,706 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,706 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,707 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,707 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,707 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,707 [253] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:14,707 [253] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:14,707 [253] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:14,707 [253] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:14,707 [253] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,707 [253] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,707 [253] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,708 [253] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:14,708 [253] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,708 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,708 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,708 [253] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,708 [253] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:14,708 [253] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083714Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:14,708 [253] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083714Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 7d7022d87d229ce4c8a751d05d339dcfb45af30439221a489ae40059d7a8de0e gunicorn-registry stdout | 2025-09-26 08:37:14,708 [253] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 2bb81d27f1d4de70fd410a961551c84d318a519fb07cbe0b6f30f69d4cde060a gunicorn-registry stdout | 2025-09-26 08:37:14,709 [253] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,709 [253] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:14,709 [253] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:14,710 [253] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:37:14,755 [253] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:14,756 [253] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9bwd-f5mlvk-167t', 'x-amz-id-2': 'mg0l9bwd-f5mlvk-167t', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:14 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:14,756 [253] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f8468d650bad73ec60008f934f3' gunicorn-registry stdout | 2025-09-26 08:37:14,756 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,756 [253] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:14,756 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,756 [253] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9bwd-f5mlvk-167t', 'HostId': 'mg0l9bwd-f5mlvk-167t', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9bwd-f5mlvk-167t', 'x-amz-id-2': 'mg0l9bwd-f5mlvk-167t', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:14 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84', 'UploadId': '68d650bad73ec60008f934f3'} gunicorn-registry stdout | 2025-09-26 08:37:14,756 [253] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:14,757 [253] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:14,757 [253] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:14,758 [253] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84', 'UploadId': '68d650bad73ec60008f934f3', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc1b600>, 'ContentLength': 5504} gunicorn-registry stdout | 2025-09-26 08:37:14,758 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,758 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,758 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,758 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,758 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,758 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,758 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,759 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,759 [253] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:14,759 [253] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:14,759 [253] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:14,759 [253] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:14,759 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,759 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,759 [253] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:14,759 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,760 [253] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,760 [253] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84', 'query_string': {'uploadId': '68d650bad73ec60008f934f3', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '5504', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'fC/1KMkLxlCAhWivtAXyNQ==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc1b600>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84?uploadId=68d650bad73ec60008f934f3&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84', 'UploadId': '68d650bad73ec60008f934f3', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc1b600>, 'ContentLength': 5504}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:14,760 [253] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,760 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,760 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,760 [253] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,760 [253] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:14,760 [253] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84 gunicorn-registry stdout | partNumber=1&uploadId=68d650bad73ec60008f934f3 gunicorn-registry stdout | content-length:5504 gunicorn-registry stdout | content-md5:fC/1KMkLxlCAhWivtAXyNQ== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083714Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:14,760 [253] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083714Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 62dc50442f139748dbc4c8dbc2a25812a5d0d4c62f12e5e6d64521a75628cae3 gunicorn-registry stdout | 2025-09-26 08:37:14,760 [253] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 4ae39e75aded1541946c2fd2db59c435296190ecd28d2b39563936b6eba94f4d gunicorn-registry stdout | 2025-09-26 08:37:14,761 [253] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,761 [253] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:14,761 [253] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:14,762 [253] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:14,762 [253] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:14,849 [253] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84?uploadId=68d650bad73ec60008f934f3&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:14,850 [253] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9bwq-fdnm1l-1bee', 'x-amz-id-2': 'mg0l9bwq-fdnm1l-1bee', 'ETag': '"7c2ff528c90bc650808568afb405f235"', 'Date': 'Fri, 26 Sep 2025 08:37:14 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:14,850 [253] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:14,850 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,850 [253] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:14,850 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,850 [253] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9bwq-fdnm1l-1bee', 'HostId': 'mg0l9bwq-fdnm1l-1bee', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9bwq-fdnm1l-1bee', 'x-amz-id-2': 'mg0l9bwq-fdnm1l-1bee', 'etag': '"7c2ff528c90bc650808568afb405f235"', 'date': 'Fri, 26 Sep 2025 08:37:14 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"7c2ff528c90bc650808568afb405f235"'} gunicorn-registry stdout | 2025-09-26 08:37:14,851 [253] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84', 'UploadId': '68d650bad73ec60008f934f3', 'MultipartUpload': {'Parts': [{'ETag': '"7c2ff528c90bc650808568afb405f235"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:14,851 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,851 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,851 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,851 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,851 [253] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,851 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,851 [253] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,851 [253] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:14,851 [253] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:14,851 [253] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:14,851 [253] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:14,852 [253] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,852 [253] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,852 [253] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,852 [253] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84', 'query_string': {'uploadId': '68d650bad73ec60008f934f3'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"7c2ff528c90bc650808568afb405f235"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84?uploadId=68d650bad73ec60008f934f3', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84', 'UploadId': '68d650bad73ec60008f934f3', 'MultipartUpload': {'Parts': [{'ETag': '"7c2ff528c90bc650808568afb405f235"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:14,852 [253] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,852 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,852 [253] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,852 [253] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,853 [253] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:14,853 [253] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84 gunicorn-registry stdout | uploadId=68d650bad73ec60008f934f3 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:667a7fd74b66753934f6312a96939167afd7f6e5ce2e85557deb7088f6964181 gunicorn-registry stdout | x-amz-date:20250926T083714Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 667a7fd74b66753934f6312a96939167afd7f6e5ce2e85557deb7088f6964181 gunicorn-registry stdout | 2025-09-26 08:37:14,853 [253] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083714Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 78af74dd421b908ca1857e201f336c8e2c956986793a10997a4fd0d21b92fe23 gunicorn-registry stdout | 2025-09-26 08:37:14,853 [253] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 5435c479848f9ea825cef7c250ce57707f50be3ce2403e2c936208188741c7b1 gunicorn-registry stdout | 2025-09-26 08:37:14,853 [253] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,853 [253] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:14,854 [253] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:14,871 [253] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84?uploadId=68d650bad73ec60008f934f3 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:14,871 [253] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9bzb-dc71c-10mt', 'x-amz-id-2': 'mg0l9bzb-dc71c-10mt', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:14 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:14,871 [253] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84"7e701563babdcd25663442372fe4c713-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84?uploadId=68d650bad73ec60008f934f3' gunicorn-registry stdout | 2025-09-26 08:37:14,872 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,872 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,872 [253] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:14,872 [253] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,872 [253] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9bzb-dc71c-10mt', 'HostId': 'mg0l9bzb-dc71c-10mt', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9bzb-dc71c-10mt', 'x-amz-id-2': 'mg0l9bzb-dc71c-10mt', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:14 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84?uploadId=68d650bad73ec60008f934f3', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84', 'ETag': '"7e701563babdcd25663442372fe4c713-1"'} gunicorn-registry stdout | 2025-09-26 08:37:14,872 [253] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:14,873 [253] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:14,874 [253] [DEBUG] [data.registry_model.blobuploader] Uploaded 5504 bytes to blob 2730884f-63ae-4c6c-97e5-72bf23136e41 took 0.16912579536437988 seconds gunicorn-registry stdout | 2025-09-26 08:37:14,874 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['2730884f-63ae-4c6c-97e5-72bf23136e41', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,879 [253] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '2730884f-63ae-4c6c-97e5-72bf23136e41', 5504, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwMDkxMH1dXX19LCJodHRwczovL21vYnlwcm9qZWN0Lm9yZy9idWlsZGtpdEB2MSNoZXJtZXRpYyI6dHJ1ZX19fQAAAAAAAAAAAKwAAAAAAABNV9EX+ppsgEqcBbdirsUHpgxT8jY66WqydkeoUkme+pRiLg==', 9, '{"chunks": [["uploads/edb642f8-98a8-4b40-b784-cc332ade0f84", 0, 5504]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 14, 617983), None, None, 54]) gunicorn-registry stdout | 2025-09-26 08:37:14,884 [253] [DEBUG] [app] Ending request: urn:request:4db056e0-b6e5-4bb5-ab4e-77c1c2378fab (/v2/testorg2/alpine/blobs/uploads/2730884f-63ae-4c6c-97e5-72bf23136e41) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:4db056e0-b6e5-4bb5-ab4e-77c1c2378fab', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/2730884f-63ae-4c6c-97e5-72bf23136e41', 'path': '/v2/testorg2/alpine/blobs/uploads/2730884f-63ae-4c6c-97e5-72bf23136e41', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:14,885 [253] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:14,885 [253] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:14,885 [253] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:14 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/2730884f-63ae-4c6c-97e5-72bf23136e41 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:14 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/2730884f-63ae-4c6c-97e5-72bf23136e41 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.222 7281 0.221) gunicorn-registry stdout | 2025-09-26 08:37:14,927 [257] [DEBUG] [app] Starting request: urn:request:e1fd42e7-6543-4494-987c-73fd2edb9f32 (/v2/testorg2/alpine/blobs/uploads/2730884f-63ae-4c6c-97e5-72bf23136e41) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:14,927 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '2730884f-63ae-4c6c-97e5-72bf23136e41', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:14,927 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:14,927 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:14,928 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:14,928 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:14,928 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:14,928 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:14,928 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:14,929 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,934 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,937 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,942 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,946 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,949 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,954 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,958 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:14,962 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['2730884f-63ae-4c6c-97e5-72bf23136e41', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,965 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:14,966 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:14,966 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:14,967 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:14,967 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1eba7d32-bc4e-405f-b1e4-0eb32af08dda', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:14,967 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,967 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,967 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,967 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,967 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,967 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,967 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,967 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,967 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:14,967 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:14,968 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:14,968 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:14,968 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,968 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,968 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,968 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/1eba7d32-bc4e-405f-b1e4-0eb32af08dda?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1eba7d32-bc4e-405f-b1e4-0eb32af08dda', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1eba7d32-bc4e-405f-b1e4-0eb32af08dda?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1eba7d32-bc4e-405f-b1e4-0eb32af08dda', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:14,968 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,968 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,968 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,968 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,968 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:14,969 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1eba7d32-bc4e-405f-b1e4-0eb32af08dda gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083714Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:14,969 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083714Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | bc6c723188fca0c67cd3db09b37bbbef7e4b398a35f681e08a9c7ecea47982d8 gunicorn-registry stdout | 2025-09-26 08:37:14,969 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 79db406bf5d76670c88662f5ab00951e121990ee5953b2cb39c68686acc6e694 gunicorn-registry stdout | 2025-09-26 08:37:14,969 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,969 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:14,969 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:14,978 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1eba7d32-bc4e-405f-b1e4-0eb32af08dda?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:14,978 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9c2i-2a0d5e-gw5', 'x-amz-id-2': 'mg0l9c2i-2a0d5e-gw5', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:14 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:14,978 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/1eba7d32-bc4e-405f-b1e4-0eb32af08dda68d650bad73ec60008f934f9' gunicorn-registry stdout | 2025-09-26 08:37:14,979 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,979 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:14,979 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,979 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9c2i-2a0d5e-gw5', 'HostId': 'mg0l9c2i-2a0d5e-gw5', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9c2i-2a0d5e-gw5', 'x-amz-id-2': 'mg0l9c2i-2a0d5e-gw5', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:14 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1eba7d32-bc4e-405f-b1e4-0eb32af08dda', 'UploadId': '68d650bad73ec60008f934f9'} gunicorn-registry stdout | 2025-09-26 08:37:14,979 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:14,980 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1eba7d32-bc4e-405f-b1e4-0eb32af08dda', 'UploadId': '68d650bad73ec60008f934f9'} gunicorn-registry stdout | 2025-09-26 08:37:14,980 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,980 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,981 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,981 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,981 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,981 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,981 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:14,981 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:14,981 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:14,981 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:14,982 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,982 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,982 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,982 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/1eba7d32-bc4e-405f-b1e4-0eb32af08dda', 'query_string': {'uploadId': '68d650bad73ec60008f934f9'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1eba7d32-bc4e-405f-b1e4-0eb32af08dda', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1eba7d32-bc4e-405f-b1e4-0eb32af08dda?uploadId=68d650bad73ec60008f934f9', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1eba7d32-bc4e-405f-b1e4-0eb32af08dda', 'UploadId': '68d650bad73ec60008f934f9'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:14,982 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,982 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,982 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,982 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,982 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:14,982 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1eba7d32-bc4e-405f-b1e4-0eb32af08dda gunicorn-registry stdout | uploadId=68d650bad73ec60008f934f9 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083714Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:14,983 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083714Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 0c7500096d5f1e5f4164554246601322a005d42744ff8c4776925d48c25558e5 gunicorn-registry stdout | 2025-09-26 08:37:14,983 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 9fd537ea13519cbd75def479fb68eef9602137ce0e02a79bd56552bee4072d8a gunicorn-registry stdout | 2025-09-26 08:37:14,983 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,983 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:14,983 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:14,990 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1eba7d32-bc4e-405f-b1e4-0eb32af08dda?uploadId=68d650bad73ec60008f934f9 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:14,991 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9c2x-2ils78-t0a', 'x-amz-id-2': 'mg0l9c2x-2ils78-t0a', 'Date': 'Fri, 26 Sep 2025 08:37:14 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:14,991 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:14,991 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:14,991 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:14,991 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:14,991 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9c2x-2ils78-t0a', 'HostId': 'mg0l9c2x-2ils78-t0a', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9c2x-2ils78-t0a', 'x-amz-id-2': 'mg0l9c2x-2ils78-t0a', 'date': 'Fri, 26 Sep 2025 08:37:14 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:14,991 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 2730884f-63ae-4c6c-97e5-72bf23136e41 took 0.02565789222717285 seconds gunicorn-registry stdout | 2025-09-26 08:37:14,992 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['2730884f-63ae-4c6c-97e5-72bf23136e41', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:14,996 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '2730884f-63ae-4c6c-97e5-72bf23136e41', 5504, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwMDkxMH1dXX19LCJodHRwczovL21vYnlwcm9qZWN0Lm9yZy9idWlsZGtpdEB2MSNoZXJtZXRpYyI6dHJ1ZX19fQAAAAAAAAAAAKwAAAAAAABNV9EX+ppsgEqcBbdirsUHpgxT8jY66WqydkeoUkme+pRiLg==', 9, '{"chunks": [["uploads/edb642f8-98a8-4b40-b784-cc332ade0f84", 0, 5504]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 14, 617983), None, None, 54]) gunicorn-registry stdout | 2025-09-26 08:37:15,001 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:15,001 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:15,001 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:15,002 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:15,002 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584'} gunicorn-registry stdout | 2025-09-26 08:37:15,003 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,003 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,003 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,003 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,003 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,003 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,003 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,003 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:15,003 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:15,003 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:15,003 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:15,003 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,003 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,003 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,003 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:15,004 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,004 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,004 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,004 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,004 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:15,004 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083715Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:15,004 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083715Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | cfabc6efbefb02abaa689f75433f8c263f42428fd8d0938c7c74cafd1d7ad2b4 gunicorn-registry stdout | 2025-09-26 08:37:15,004 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 266be8a89d6dc8ba6849370ffe68532e2a17d19bbb5ea4e65129fe28e0573951 gunicorn-registry stdout | 2025-09-26 08:37:15,004 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,005 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:15,005 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:15,009 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:15,010 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9c3i-2v9dia-1e1c', 'x-amz-id-2': 'mg0l9c3i-2v9dia-1e1c', 'Content-Type': 'application/xml', 'Content-Length': '339', 'Date': 'Fri, 26 Sep 2025 08:37:15 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:15,010 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:15,010 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,010 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:15,010 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,010 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:15,011 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:15,011 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584 gunicorn-registry stdout | 2025-09-26 08:37:15,011 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:15,011 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:15,012 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:15,012 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:15,012 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,012 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,012 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,012 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,012 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,012 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,012 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,012 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:15,012 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:15,012 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:15,013 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:15,013 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,013 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,013 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,013 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:15,013 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,013 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,013 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,013 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,013 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,014 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:15,014 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083715Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:15,014 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083715Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | b35c55cfeaa74908c357c7eac79b6a6ecf24cc27d571db906a2ad39318da66c2 gunicorn-registry stdout | 2025-09-26 08:37:15,014 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 8c365b01418831dc41ec35643168aa87c429aff7ef29d2604e004e26c1250455 gunicorn-registry stdout | 2025-09-26 08:37:15,014 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,014 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,014 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:15,015 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:15,019 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:15,020 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9c3s-31d3ca-4yr', 'x-amz-id-2': 'mg0l9c3s-31d3ca-4yr', 'ETag': '"7e701563babdcd25663442372fe4c713-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:14 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '5504', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:15 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:15,020 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:15,021 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,021 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:15,021 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,021 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:15,021 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:15,021 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:15,021 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:15,022 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584', 'extra_args': {}, 'callbacks': [], 'size': 5504} gunicorn-registry stdout | 2025-09-26 08:37:15,022 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,022 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,022 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,022 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,022 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,022 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,022 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,022 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,022 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,022 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,022 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:15,023 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:15,023 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:15,023 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:15,023 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,023 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,023 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,023 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:15,023 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,023 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,023 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,023 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,024 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,024 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:15,024 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/edb642f8-98a8-4b40-b784-cc332ade0f84 gunicorn-registry stdout | x-amz-date:20250926T083715Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:15,024 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083715Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 5f1cbcf1d368947837b6ef46b7465a11af8b39da0a63c13446c12197ec5036e2 gunicorn-registry stdout | 2025-09-26 08:37:15,024 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | da3a6fc6a26ab6ec481689fd6c22ee82ff5efb2e6c155050c2cac1acd6976676 gunicorn-registry stdout | 2025-09-26 08:37:15,024 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,024 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,024 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:15,025 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:15,025 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:15,054 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:15,055 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9c42-37bh0b-193o', 'x-amz-id-2': 'mg0l9c42-37bh0b-193o', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:15 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:15,055 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:15.000Z"7e701563babdcd25663442372fe4c713-1"' gunicorn-registry stdout | 2025-09-26 08:37:15,056 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,056 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,056 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:15,056 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,057 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:15,058 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 2730884f-63ae-4c6c-97e5-72bf23136e41 with digest sha256:aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584 took 0.04760169982910156 seconds gunicorn-registry stdout | 2025-09-26 08:37:15,059 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['2730884f-63ae-4c6c-97e5-72bf23136e41', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,062 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,064 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['9b5465dc-b44b-4572-a7ad-66ba04cf0f73', 5504, None, True, True, 'sha256:aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584']) gunicorn-registry stdout | 2025-09-26 08:37:15,066 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [55, 9]) gunicorn-registry stdout | 2025-09-26 08:37:15,068 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,070 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 55, datetime.datetime(2025, 9, 26, 8, 37, 15, 70062), datetime.datetime(2025, 9, 26, 9, 37, 15, 70045)]) gunicorn-registry stdout | 2025-09-26 08:37:15,071 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [54]) gunicorn-registry stdout | 2025-09-26 08:37:15,076 [257] [DEBUG] [app] Ending request: urn:request:e1fd42e7-6543-4494-987c-73fd2edb9f32 (/v2/testorg2/alpine/blobs/uploads/2730884f-63ae-4c6c-97e5-72bf23136e41) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:e1fd42e7-6543-4494-987c-73fd2edb9f32', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/2730884f-63ae-4c6c-97e5-72bf23136e41?digest=sha256:aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584', 'path': '/v2/testorg2/alpine/blobs/uploads/2730884f-63ae-4c6c-97e5-72bf23136e41', 'parameters': {'digest': 'sha256:aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:15,076 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:15,076 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:15,077 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:15 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/2730884f-63ae-4c6c-97e5-72bf23136e41?digest=sha256%3Aaba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:15 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/2730884f-63ae-4c6c-97e5-72bf23136e41?digest=sha256%3Aaba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.152 1853 0.151) gunicorn-web stdout | 2025-09-26 08:37:15,181 [241] [DEBUG] [app] Starting request: urn:request:18157e31-54e1-4668-bbeb-7844486975b1 (/) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:37:15,185 [241] [DEBUG] [app] Ending request: urn:request:18157e31-54e1-4668-bbeb-7844486975b1 (/) {'endpoint': 'web.index', 'request_id': 'urn:request:18157e31-54e1-4668-bbeb-7844486975b1', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/', 'path': '/', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:37:15,186 [241] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:15 +0000] "GET / HTTP/1.0" 200 91952 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:15 +0000] "GET /signin HTTP/1.1" 200 14102 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.006 2184 0.006) gunicorn-registry stdout | 2025-09-26 08:37:15,208 [250] [DEBUG] [app] Starting request: urn:request:ea69a55f-3021-4f24-ad2b-f6eb6695c3fc (/v2/testorg2/alpine/blobs/sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:15,209 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:15,209 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:15,209 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:15,210 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:15,210 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:15,210 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:15,210 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:15,210 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:15,211 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,216 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,219 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:15,220 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81_2 gunicorn-registry stdout | 2025-09-26 08:37:15,220 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:15,221 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,225 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,228 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,232 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,236 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,239 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81_2: None gunicorn-registry stdout | 2025-09-26 08:37:15,239 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81_2: None gunicorn-registry stdout | 2025-09-26 08:37:15,240 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:15,240 [250] [DEBUG] [app] Ending request: urn:request:ea69a55f-3021-4f24-ad2b-f6eb6695c3fc (/v2/testorg2/alpine/blobs/sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:ea69a55f-3021-4f24-ad2b-f6eb6695c3fc', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 'path': '/v2/testorg2/alpine/blobs/sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:15,240 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:15,240 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:15,241 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:15 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:15 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.034 1718 0.034) gunicorn-registry stdout | 2025-09-26 08:37:15,337 [257] [DEBUG] [app] Starting request: urn:request:6fc53de6-4c9e-4ca9-b60f-a453fcf436c5 (/v2/testorg2/alpine/blobs/uploads/6aacfc70-cd82-4a0f-b85a-45330f4b270a) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:15,337 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '6aacfc70-cd82-4a0f-b85a-45330f4b270a', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:15,337 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:15,337 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:15,339 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:15,339 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:15,339 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:15,339 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:15,339 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:15,341 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,345 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,348 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,352 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,356 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,361 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,364 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,368 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:15,372 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['6aacfc70-cd82-4a0f-b85a-45330f4b270a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,376 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:15,376 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:15,376 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:15,377 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:15,377 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:15,377 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,377 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,377 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,377 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,377 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,377 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,377 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,377 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,377 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:15,377 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:15,377 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:15,378 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:15,378 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,378 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,378 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,378 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:15,378 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,378 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,378 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,378 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,378 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:15,378 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083715Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:15,378 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083715Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 08b713497618aedc1d4a186378ea5ece32ac2f84069ee0dd2374ee9d6a177bf8 gunicorn-registry stdout | 2025-09-26 08:37:15,379 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 388b789b11f6343a1d11323abc222ec1154aff4ff1426e1a226ac5763365c17c gunicorn-registry stdout | 2025-09-26 08:37:15,379 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,379 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:15,379 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:15,385 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:15,385 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9cdw-922ju5-8vf', 'x-amz-id-2': 'mg0l9cdw-922ju5-8vf', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:15 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:15,385 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e68d650bbd73ec60008f934fc' gunicorn-registry stdout | 2025-09-26 08:37:15,386 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,386 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:15,386 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,386 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9cdw-922ju5-8vf', 'HostId': 'mg0l9cdw-922ju5-8vf', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9cdw-922ju5-8vf', 'x-amz-id-2': 'mg0l9cdw-922ju5-8vf', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:15 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e', 'UploadId': '68d650bbd73ec60008f934fc'} gunicorn-registry stdout | 2025-09-26 08:37:15,386 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:15,387 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:15,387 [257] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:15,387 [257] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e', 'UploadId': '68d650bbd73ec60008f934fc', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc1e840>, 'ContentLength': 167} gunicorn-registry stdout | 2025-09-26 08:37:15,387 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,387 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,387 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,387 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,388 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,388 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,388 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,388 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,388 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:15,388 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:15,388 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:15,388 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:15,388 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,388 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,388 [257] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:15,388 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,388 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,388 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e', 'query_string': {'uploadId': '68d650bbd73ec60008f934fc', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '167', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'GK2Fgj1WskWGulMNZ4qtyw==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc1e840>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e?uploadId=68d650bbd73ec60008f934fc&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e', 'UploadId': '68d650bbd73ec60008f934fc', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc1e840>, 'ContentLength': 167}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:15,389 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,389 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,389 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,389 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,389 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:15,389 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e gunicorn-registry stdout | partNumber=1&uploadId=68d650bbd73ec60008f934fc gunicorn-registry stdout | content-length:167 gunicorn-registry stdout | content-md5:GK2Fgj1WskWGulMNZ4qtyw== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083715Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:15,389 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083715Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 9d563a78425a477dac98484c74f2adf66c61ec68958f154fdd54c95b58b7b759 gunicorn-registry stdout | 2025-09-26 08:37:15,389 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b5488a8fe6621084ab73d277723f76dc463031ae279c3ec1b657c3fb5bdf4586 gunicorn-registry stdout | 2025-09-26 08:37:15,389 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,389 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:15,390 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:15,390 [257] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:15,391 [257] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:15,455 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e?uploadId=68d650bbd73ec60008f934fc&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:15,456 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ce7-98cetj-r1m', 'x-amz-id-2': 'mg0l9ce7-98cetj-r1m', 'ETag': '"18ad85823d56b24586ba530d678aadcb"', 'Date': 'Fri, 26 Sep 2025 08:37:15 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:15,456 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:15,456 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,456 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:15,456 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,456 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9ce7-98cetj-r1m', 'HostId': 'mg0l9ce7-98cetj-r1m', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ce7-98cetj-r1m', 'x-amz-id-2': 'mg0l9ce7-98cetj-r1m', 'etag': '"18ad85823d56b24586ba530d678aadcb"', 'date': 'Fri, 26 Sep 2025 08:37:15 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"18ad85823d56b24586ba530d678aadcb"'} gunicorn-registry stdout | 2025-09-26 08:37:15,456 [257] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e', 'UploadId': '68d650bbd73ec60008f934fc', 'MultipartUpload': {'Parts': [{'ETag': '"18ad85823d56b24586ba530d678aadcb"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:15,456 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,456 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,456 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,456 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,456 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,456 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,456 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,456 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:15,456 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:15,457 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:15,457 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:15,457 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,457 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,457 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,457 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e', 'query_string': {'uploadId': '68d650bbd73ec60008f934fc'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"18ad85823d56b24586ba530d678aadcb"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e?uploadId=68d650bbd73ec60008f934fc', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e', 'UploadId': '68d650bbd73ec60008f934fc', 'MultipartUpload': {'Parts': [{'ETag': '"18ad85823d56b24586ba530d678aadcb"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:15,457 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,457 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,457 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,457 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,458 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:15,458 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e gunicorn-registry stdout | uploadId=68d650bbd73ec60008f934fc gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:926fd8ca55ae469ff5dc1dcdf96fdd3b194df5b21dd4c17bd3629dcbb44bb90e gunicorn-registry stdout | x-amz-date:20250926T083715Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 926fd8ca55ae469ff5dc1dcdf96fdd3b194df5b21dd4c17bd3629dcbb44bb90e gunicorn-registry stdout | 2025-09-26 08:37:15,458 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083715Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 13e959ba6470d58c5061df83710a5766b31f73201fda3fbc6a0c1339522aadbe gunicorn-registry stdout | 2025-09-26 08:37:15,458 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | aa954ee35cc03edb138ef33640a90ea675ac73b5f4295e3ca15e88e52b9c8e9d gunicorn-registry stdout | 2025-09-26 08:37:15,458 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,458 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:15,458 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:15,474 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e?uploadId=68d650bbd73ec60008f934fc HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:15,475 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9cg3-ad8506-l2y', 'x-amz-id-2': 'mg0l9cg3-ad8506-l2y', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:15 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:15,475 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e"e6f09d8ec158ded8e277b62cc0fa10cc-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e?uploadId=68d650bbd73ec60008f934fc' gunicorn-registry stdout | 2025-09-26 08:37:15,475 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,475 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,475 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:15,475 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,475 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9cg3-ad8506-l2y', 'HostId': 'mg0l9cg3-ad8506-l2y', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9cg3-ad8506-l2y', 'x-amz-id-2': 'mg0l9cg3-ad8506-l2y', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:15 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e?uploadId=68d650bbd73ec60008f934fc', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e', 'ETag': '"e6f09d8ec158ded8e277b62cc0fa10cc-1"'} gunicorn-registry stdout | 2025-09-26 08:37:15,475 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:15,476 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:15,477 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 167 bytes to blob 6aacfc70-cd82-4a0f-b85a-45330f4b270a took 0.10089778900146484 seconds gunicorn-registry stdout | 2025-09-26 08:37:15,477 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['6aacfc70-cd82-4a0f-b85a-45330f4b270a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,482 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '6aacfc70-cd82-4a0f-b85a-45330f4b270a', 167, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwZGExYjJhZDIwNWMxMTIzZTRkYmI5MDM2OGU2MjVlOTI1ODQiXX19Yzc4ODA0NDVkMWI5ZWNkMzllZWYxM2VhOCcAAAAAAAAAAAQAAAAAAACO6PSngoaLMADcDAUNA++Fc6hBArhSxkrskxHShxijepRiLg==', 9, '{"chunks": [["uploads/689f7a7c-bf2c-4a02-ae53-ff48a632e76e", 0, 167]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 15, 292899), None, None, 55]) gunicorn-registry stdout | 2025-09-26 08:37:15,486 [257] [DEBUG] [app] Ending request: urn:request:6fc53de6-4c9e-4ca9-b60f-a453fcf436c5 (/v2/testorg2/alpine/blobs/uploads/6aacfc70-cd82-4a0f-b85a-45330f4b270a) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:6fc53de6-4c9e-4ca9-b60f-a453fcf436c5', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/6aacfc70-cd82-4a0f-b85a-45330f4b270a', 'path': '/v2/testorg2/alpine/blobs/uploads/6aacfc70-cd82-4a0f-b85a-45330f4b270a', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:15,487 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:15,487 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:15,487 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:15 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/6aacfc70-cd82-4a0f-b85a-45330f4b270a HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:15 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/6aacfc70-cd82-4a0f-b85a-45330f4b270a HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.153 1943 0.152) gunicorn-registry stdout | 2025-09-26 08:37:15,693 [257] [DEBUG] [app] Starting request: urn:request:6d050037-1366-4b0b-987c-f197503c4dce (/v2/testorg2/alpine/manifests/sha256:20ff073fde2f60c8ecb1101f047df66b940ad58a6ea918e128df7cd95c5c2dac) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:15,693 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:20ff073fde2f60c8ecb1101f047df66b940ad58a6ea918e128df7cd95c5c2dac', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:15,694 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:15,694 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:15,695 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:15,695 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:15,695 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:15,695 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:15,695 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:15,696 [257] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:15,696 [257] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:15,697 [257] [DEBUG] [data.cache.impl] Found result in cache for key repository_lookup_testorg2_alpine: {'id': 3, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': 0, 'namespace_user': {'stripe_id': None}} gunicorn-registry stdout | 2025-09-26 08:37:15,698 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:20ff073fde2f60c8ecb1101f047df66b940ad58a6ea918e128df7cd95c5c2dac', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,702 [257] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [3, 'sha256:aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584', 1, 3, 'sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 1]) gunicorn-registry stdout | 2025-09-26 08:37:15,707 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:20ff073fde2f60c8ecb1101f047df66b940ad58a6ea918e128df7cd95c5c2dac', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,712 [257] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [3, 'sha256:20ff073fde2f60c8ecb1101f047df66b940ad58a6ea918e128df7cd95c5c2dac', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81",\n "size": 167\n },\n "layers": [\n {\n "mediaType": "application/vnd.in-toto+json",\n "digest": "sha256:aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584",\n "size": 5504,\n "annotations": {\n "in-toto.io/predicate-type": "https://slsa.dev/provenance/v0.2"\n }\n }\n ]\n}', 'application/vnd.oci.image.config.v1+json', 5504, None, True, None, True]) gunicorn-registry stdout | 2025-09-26 08:37:15,714 [257] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [3, 22, 56, 3, 22, 55]) gunicorn-registry stdout | 2025-09-26 08:37:15,716 [257] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,717 [257] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [4, 1]) gunicorn-registry stdout | 2025-09-26 08:37:15,719 [257] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 55, 22, 1]) gunicorn-registry stdout | 2025-09-26 08:37:15,720 [257] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 56, 22, 1]) gunicorn-registry stdout | 2025-09-26 08:37:15,722 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,724 [257] [INFO] [data.model.quota] updating namespace size for manifest 22 in namespace 4, QuotaOperation.ADD 5671 gunicorn-registry stdout | 2025-09-26 08:37:15,724 [257] [DEBUG] [peewee] ('UPDATE "quotanamespacesize" SET "size_bytes" = ("quotanamespacesize"."size_bytes" + %s) WHERE ("quotanamespacesize"."namespace_user_id" = %s)', [5671, 4]) gunicorn-registry stdout | 2025-09-26 08:37:15,726 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,727 [257] [INFO] [data.model.quota] updating repository size for manifest 22 in repository 3, QuotaOperation.ADD 5671 gunicorn-registry stdout | 2025-09-26 08:37:15,728 [257] [DEBUG] [peewee] ('UPDATE "quotarepositorysize" SET "size_bytes" = ("quotarepositorysize"."size_bytes" + %s) WHERE ("quotarepositorysize"."repository_id" = %s)', [5671, 3]) gunicorn-registry stdout | 2025-09-26 08:37:15,729 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [22, None, 1758879435729, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,731 [257] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-5c2d9977-af22-401f-a5a9-457f2ab53c2b', 3, 22, 1758875835729, 1758879435729, False, True, False, 1]) gunicorn-registry stdout | 2025-09-26 08:37:15,735 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:15,739 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['ce5fc8d5-c12b-4a84-967a-0f6bea58496f']) gunicorn-registry stdout | 2025-09-26 08:37:15,743 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:15,744 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:15,745 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81'} gunicorn-registry stdout | 2025-09-26 08:37:15,745 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,745 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,745 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,745 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,745 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,745 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,745 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,745 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:15,745 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:15,745 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:15,745 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:15,745 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,746 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,746 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,746 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:15,746 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,746 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,746 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,746 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,746 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:15,746 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083715Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:15,746 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083715Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 23c49d11ecd2c9c458775f9740975c6ca45d9e2c94e574f33fe99e4ce8424a34 gunicorn-registry stdout | 2025-09-26 08:37:15,746 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 2be5d60b015177a420fa9fae8561ce7e9087cca1255ce997b04b6ce9c26a200c gunicorn-registry stdout | 2025-09-26 08:37:15,746 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,746 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:15,747 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:15,808 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81 HTTP/1.1" 200 167 gunicorn-registry stdout | 2025-09-26 08:37:15,808 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9co4-f50d8w-1pv', 'x-amz-id-2': 'mg0l9co4-f50d8w-1pv', 'ETag': '"e6f09d8ec158ded8e277b62cc0fa10cc-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:15 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '167', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:15 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:15,808 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:15,809 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:15,809 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:15,809 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:15,809 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9co4-f50d8w-1pv', 'HostId': 'mg0l9co4-f50d8w-1pv', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9co4-f50d8w-1pv', 'x-amz-id-2': 'mg0l9co4-f50d8w-1pv', 'etag': '"e6f09d8ec158ded8e277b62cc0fa10cc-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:15 GMT', 'content-type': 'application/octet-stream', 'content-length': '167', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:15 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 15, tzinfo=tzutc()), 'ContentLength': 167, 'ETag': '"e6f09d8ec158ded8e277b62cc0fa10cc-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:15,811 [257] [DEBUG] [app] Ending request: urn:request:6d050037-1366-4b0b-987c-f197503c4dce (/v2/testorg2/alpine/manifests/sha256:20ff073fde2f60c8ecb1101f047df66b940ad58a6ea918e128df7cd95c5c2dac) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:6d050037-1366-4b0b-987c-f197503c4dce', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/manifests/sha256:20ff073fde2f60c8ecb1101f047df66b940ad58a6ea918e128df7cd95c5c2dac', 'path': '/v2/testorg2/alpine/manifests/sha256:20ff073fde2f60c8ecb1101f047df66b940ad58a6ea918e128df7cd95c5c2dac', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 'size': 167}, 'layers': [{'mediaType': 'application/vnd.in-toto+json', 'digest': 'sha256:aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584', 'size': 5504, 'annotations': {'in-toto.io/predicate-type': 'https://slsa.dev/provenance/v0.2'}}]}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:15,811 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:15,811 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:15,812 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:15 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:20ff073fde2f60c8ecb1101f047df66b940ad58a6ea918e128df7cd95c5c2dac HTTP/1.1" 201 2 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:15 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:20ff073fde2f60c8ecb1101f047df66b940ad58a6ea918e128df7cd95c5c2dac HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.119 2389 0.120) gunicorn-web stdout | 2025-09-26 08:37:15,852 [242] [DEBUG] [app] Starting request: urn:request:64fbd53a-f48a-488f-a9a5-cdadea5287db (/api/v1/user/) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:37:15,853 [242] [DEBUG] [app] Ending request: urn:request:64fbd53a-f48a-488f-a9a5-cdadea5287db (/api/v1/user/) {'endpoint': 'api.user', 'request_id': 'urn:request:64fbd53a-f48a-488f-a9a5-cdadea5287db', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/user/', 'path': '/api/v1/user/', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:37:15,854 [242] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:15 +0000] "GET /api/v1/user/ HTTP/1.0" 401 315 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:15 +0000] "GET /api/v1/user/ HTTP/1.1" 401 315 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.002 2123 0.002) gunicorn-registry stdout | 2025-09-26 08:37:16,120 [256] [DEBUG] [app] Starting request: urn:request:2a0d6010-beee-46d0-a5a6-3342b6cce0d0 (/v2/testorg2/alpine/blobs/sha256:5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:16,120 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:16,120 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:16,120 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:16,121 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:16,121 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:16,121 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:16,121 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:16,121 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:16,122 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:16,126 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:16,129 [256] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:16,129 [256] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5_2 gunicorn-registry stdout | 2025-09-26 08:37:16,130 [256] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:16,131 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:16,134 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:16,138 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:16,141 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:16,145 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:16,148 [256] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5_2: None gunicorn-registry stdout | 2025-09-26 08:37:16,148 [256] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5_2: None gunicorn-registry stdout | 2025-09-26 08:37:16,148 [256] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:16,149 [256] [DEBUG] [app] Ending request: urn:request:2a0d6010-beee-46d0-a5a6-3342b6cce0d0 (/v2/testorg2/alpine/blobs/sha256:5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:2a0d6010-beee-46d0-a5a6-3342b6cce0d0', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5', 'path': '/v2/testorg2/alpine/blobs/sha256:5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:16,149 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:16,149 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:16 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.030 1718 0.030) gunicorn-registry stdout | 2025-09-26 08:37:16,149 [256] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:16 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" gunicorn-web stdout | 2025-09-26 08:37:16,200 [242] [DEBUG] [app] Starting request: urn:request:f4bc98ec-cdfe-4014-a145-acf991b34fba (/api/v1/messages) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:37:16,203 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."content", "t1"."uuid", "t1"."severity", "t1"."media_type_id", "t2"."id", "t2"."name" FROM "messages" AS "t1" INNER JOIN "mediatype" AS "t2" ON ("t1"."media_type_id" = "t2"."id")', []) gunicorn-web stdout | 2025-09-26 08:37:16,216 [242] [DEBUG] [app] Ending request: urn:request:f4bc98ec-cdfe-4014-a145-acf991b34fba (/api/v1/messages) {'endpoint': 'api.globalusermessages', 'request_id': 'urn:request:f4bc98ec-cdfe-4014-a145-acf991b34fba', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/messages', 'path': '/api/v1/messages', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:37:16,216 [242] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:16 +0000] "GET /api/v1/messages HTTP/1.1" 200 17 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.018 2126 0.018) gunicorn-web stdout | 2025-09-26 08:37:16,217 [242] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:16 +0000] "GET /api/v1/messages HTTP/1.0" 200 17 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:37:16,416 [241] [DEBUG] [app] Starting request: urn:request:e2d1ecee-5f0a-40cc-8421-2685d5792b81 (/_storage_proxy_auth) {'X-Forwarded-For': '3.131.182.156'} gunicorn-web stdout | 2025-09-26 08:37:16,417 [241] [DEBUG] [storage.downloadproxy] Got token b'eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODM1LCJpYXQiOjE3NTg4NzU4MzUsImV4cCI6MTc1ODg3NjQzNSwic3ViIjoic3RvcmFnZXByb3h5IiwiYWNjZXNzIjpbeyJ0eXBlIjoic3RvcmFnZXByb3h5IiwidXJpIjoicXVheS1kYXRhc3RvcmUtZTI5YzM5OTQtNjJlYi00ZTlmLTk1NTAtYmFhMTFmODc0MDg0L2RhdGFzdG9yYWdlL3JlZ2lzdHJ5L3NoYTI1Ni85OC85ODI0YzI3Njc5ZDNiMjdjNWUxY2IwMGE3M2FkYjZmNGY4ZDU1Njk5NDExMWMxMmRiM2M1ZDYxYTBjODQzZGY4P0FXU0FjY2Vzc0tleUlkPUtxVUFodjYwQUdsQUREcTBNY0taJlNpZ25hdHVyZT1Va2pTYXJJUEdXcFBIdURUSzIzN1NSdkpOeEklM0QmRXhwaXJlcz0xNzU4ODc2NDM1IiwiaG9zdCI6InMzLm9wZW5zaGlmdC1zdG9yYWdlLnN2Yy5jbHVzdGVyLmxvY2FsOjQ0MyIsInNjaGVtZSI6Imh0dHBzIn1dLCJjb250ZXh0Ijp7fX0.aUYseDUfvj9p4py9IvF4Q6ZCuulA9SvTmFfLfHGpvHbC-CvJlZw5uItEYHnUUH7Ut5NBVcQlKDwwC7ni7RGlejNBPPj6H0tvhFreUatA_rZDzQbRNlH7Oxd0G3lh8B7XOKHUOW4toByVTQahzTycK4Wz2400wlHtTZcLl1-M2bu0SuHd4rg7m7Yp4AmZSa3xXu1KLoRzBSl9jkeFX-i1SmXnpvw5PaSsRhRoejBaMS9XKwLJoLVhE503igrdI44xMBEir3w4teq2qhFZDhufqiUPHucvIRFV2Bf_y9HELYiQxvys_TTNiUxYoATXWTAOU6FCmUHvgeGW5OB77LRLJg' for storage proxy auth request /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ETTFMQ0pwWVhRaU9qRTNOVGc0TnpVNE16VXNJbVY0Y0NJNk1UYzFPRGczTmpRek5Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4NU9DODVPREkwWXpJM05qYzVaRE5pTWpkak5XVXhZMkl3TUdFM00yRmtZalptTkdZNFpEVTFOams1TkRFeE1XTXhNbVJpTTJNMVpEWXhZVEJqT0RRelpHWTRQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFWYTJwVFlYSkpVRWRYY0ZCSWRVUlVTekl6TjFOU2RrcE9lRWtsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRNMUlpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuYVVZc2VEVWZ2ajlwNHB5OUl2RjRRNlpDdXVsQTlTdlRtRmZMZkhHcHZIYkMtQ3ZKbFp3NXVJdEVZSG5VVUg3VXQ1TkJWY1FsS0R3d0M3bmk3UkdsZWpOQlBQajZIMHR2aEZyZVVhdEFfclpEelFiUk5sSDdPeGQwRzNsaDhCN1hPS0hVT1c0dG9CeVZUUWFoelR5Y0s0V3oyNDAwd2xIdFRaY0xsMS1NMmJ1MFN1SGQ0cmc3bTdZcDRBbVpTYTN4WHUxS0xvUnpCU2w5amtlRlgtaTFTbVhucHZ3NVBhU3NSaFJvZWpCYU1TOVhLd0xKb0xWaEU1MDNpZ3JkSTQ0eE1CRWlyM3c0dGVxMnFoRlpEaHVmcWlVUEh1Y3ZJUkZWMkJmX3k5SEVMWWlReHZ5c19UVE5pVXhZb0FUWFdUQU9VNkZDbVVIdmdlR1c1T0I3N0xSTEpn/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=UkjSarIPGWpPHuDTK237SRvJNxI%3D&Expires=1758876435 with parts ['ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ETTFMQ0pwWVhRaU9qRTNOVGc0TnpVNE16VXNJbVY0Y0NJNk1UYzFPRGczTmpRek5Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4NU9DODVPREkwWXpJM05qYzVaRE5pTWpkak5XVXhZMkl3TUdFM00yRmtZalptTkdZNFpEVTFOams1TkRFeE1XTXhNbVJpTTJNMVpEWXhZVEJqT0RRelpHWTRQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFWYTJwVFlYSkpVRWRYY0ZCSWRVUlVTekl6TjFOU2RrcE9lRWtsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRNMUlpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuYVVZc2VEVWZ2ajlwNHB5OUl2RjRRNlpDdXVsQTlTdlRtRmZMZkhHcHZIYkMtQ3ZKbFp3NXVJdEVZSG5VVUg3VXQ1TkJWY1FsS0R3d0M3bmk3UkdsZWpOQlBQajZIMHR2aEZyZVVhdEFfclpEelFiUk5sSDdPeGQwRzNsaDhCN1hPS0hVT1c0dG9CeVZUUWFoelR5Y0s0V3oyNDAwd2xIdFRaY0xsMS1NMmJ1MFN1SGQ0cmc3bTdZcDRBbVpTYTN4WHUxS0xvUnpCU2w5amtlRlgtaTFTbVhucHZ3NVBhU3NSaFJvZWpCYU1TOVhLd0xKb0xWaEU1MDNpZ3JkSTQ0eE1CRWlyM3c0dGVxMnFoRlpEaHVmcWlVUEh1Y3ZJUkZWMkJmX3k5SEVMWWlReHZ5c19UVE5pVXhZb0FUWFdUQU9VNkZDbVVIdmdlR1c1T0I3N0xSTEpn', 'https', 's3.openshift-storage.svc.cluster.local:443', 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=UkjSarIPGWpPHuDTK237SRvJNxI%3D&Expires=1758876435'] gunicorn-web stdout | 2025-09-26 08:37:16,418 [241] [DEBUG] [app] Ending request: urn:request:e2d1ecee-5f0a-40cc-8421-2685d5792b81 (/_storage_proxy_auth) {'endpoint': '_storage_proxy_auth', 'request_id': 'urn:request:e2d1ecee-5f0a-40cc-8421-2685d5792b81', 'remote_addr': '3.131.182.156', 'http_method': 'GET', 'original_url': 'https://web_app_server/_storage_proxy_auth', 'path': '/_storage_proxy_auth', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Go-http-client/1.1'} gunicorn-web stdout | 2025-09-26 08:37:16,419 [241] [INFO] [gunicorn.access] 3.131.182.156 - - [26/Sep/2025:08:37:16 +0000] "GET /_storage_proxy_auth HTTP/1.0" 200 2 "-" "Go-http-client/1.1" notificationworker stdout | 2025-09-26 08:37:16,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:37:16,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:26.440077+00:00 (in 9.999542 seconds) notificationworker stdout | 2025-09-26 08:37:16,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:26 GMT)" (scheduled at 2025-09-26 08:37:16.440077+00:00) notificationworker stdout | 2025-09-26 08:37:16,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:37:16,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 37, 16, 440854), True, datetime.datetime(2025, 9, 26, 8, 37, 16, 440854), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:37:16,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:37:16,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:37:16,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:26 GMT)" executed successfully nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:16 +0000] "GET /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ETTFMQ0pwWVhRaU9qRTNOVGc0TnpVNE16VXNJbVY0Y0NJNk1UYzFPRGczTmpRek5Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4NU9DODVPREkwWXpJM05qYzVaRE5pTWpkak5XVXhZMkl3TUdFM00yRmtZalptTkdZNFpEVTFOams1TkRFeE1XTXhNbVJpTTJNMVpEWXhZVEJqT0RRelpHWTRQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFWYTJwVFlYSkpVRWRYY0ZCSWRVUlVTekl6TjFOU2RrcE9lRWtsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRNMUlpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuYVVZc2VEVWZ2ajlwNHB5OUl2RjRRNlpDdXVsQTlTdlRtRmZMZkhHcHZIYkMtQ3ZKbFp3NXVJdEVZSG5VVUg3VXQ1TkJWY1FsS0R3d0M3bmk3UkdsZWpOQlBQajZIMHR2aEZyZVVhdEFfclpEelFiUk5sSDdPeGQwRzNsaDhCN1hPS0hVT1c0dG9CeVZUUWFoelR5Y0s0V3oyNDAwd2xIdFRaY0xsMS1NMmJ1MFN1SGQ0cmc3bTdZcDRBbVpTYTN4WHUxS0xvUnpCU2w5amtlRlgtaTFTbVhucHZ3NVBhU3NSaFJvZWpCYU1TOVhLd0xKb0xWaEU1MDNpZ3JkSTQ0eE1CRWlyM3c0dGVxMnFoRlpEaHVmcWlVUEh1Y3ZJUkZWMkJmX3k5SEVMWWlReHZ5c19UVE5pVXhZb0FUWFdUQU9VNkZDbVVIdmdlR1c1T0I3N0xSTEpn/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/98/9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=UkjSarIPGWpPHuDTK237SRvJNxI%3D&Expires=1758876435 HTTP/1.1" 200 3793007 "-" "Go-http-client/1.1" (0.285 2405 0.282) gunicorn-registry stdout | 2025-09-26 08:37:17,267 [255] [DEBUG] [app] Starting request: urn:request:2abeda2c-f794-4de5-b57a-4b669db0b1a5 (/v2/testorg2/alpine/blobs/uploads/4d582d86-fa60-4c49-8c29-8c9b415f392d) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:17,267 [255] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '4d582d86-fa60-4c49-8c29-8c9b415f392d', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:17,267 [255] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:17,267 [255] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:17,268 [255] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:17,268 [255] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:17,268 [255] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:17,268 [255] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:17,269 [255] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:17,269 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:17,274 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:17,278 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:17,281 [255] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:17,287 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:17,291 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) securityworker stdout | 2025-09-26 08:37:17,292 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} gunicorn-registry stdout | 2025-09-26 08:37:17,294 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:17,298 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:17,302 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['4d582d86-fa60-4c49-8c29-8c9b415f392d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:17,306 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:17,306 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:17,306 [255] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:17,307 [255] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:17,307 [255] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:17,307 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,307 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,307 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,307 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,307 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,307 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,307 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,307 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,307 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:17,307 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:17,307 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:17,307 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:17,308 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,308 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,308 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,308 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:17,308 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,308 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,308 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,308 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,308 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:17,308 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083717Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:17,308 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083717Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 658cc9c0e7c8111a72e570d29945e198902eb8b241eec8d291fcbe00b077de56 gunicorn-registry stdout | 2025-09-26 08:37:17,308 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | c1cad001f5ae4046d9ab7de6519eac8abf119aea6c5510dc89dd29d72ab26429 gunicorn-registry stdout | 2025-09-26 08:37:17,308 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,308 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:17,309 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:17,309 [255] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:37:17,339 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:17,339 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9dw6-8aqh9b-17i', 'x-amz-id-2': 'mg0l9dw6-8aqh9b-17i', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:17 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:17,339 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d2121068d650bdd73ec60008f93513' gunicorn-registry stdout | 2025-09-26 08:37:17,340 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,340 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:17,340 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,340 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9dw6-8aqh9b-17i', 'HostId': 'mg0l9dw6-8aqh9b-17i', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9dw6-8aqh9b-17i', 'x-amz-id-2': 'mg0l9dw6-8aqh9b-17i', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:17 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210', 'UploadId': '68d650bdd73ec60008f93513'} gunicorn-registry stdout | 2025-09-26 08:37:17,340 [255] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:17,341 [255] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:17,341 [255] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:17,341 [255] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210', 'UploadId': '68d650bdd73ec60008f93513', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dace750>, 'ContentLength': 593} gunicorn-registry stdout | 2025-09-26 08:37:17,341 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,341 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,341 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,342 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,342 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,342 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,342 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,342 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,342 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:17,343 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:17,343 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:17,343 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:17,343 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,343 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,343 [255] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:17,343 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,343 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,343 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210', 'query_string': {'uploadId': '68d650bdd73ec60008f93513', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '593', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'Dll55tbRWeQJct97/6Z0GA==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dace750>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210?uploadId=68d650bdd73ec60008f93513&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210', 'UploadId': '68d650bdd73ec60008f93513', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dace750>, 'ContentLength': 593}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:17,343 [255] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,343 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,343 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,343 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,344 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:17,344 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210 gunicorn-registry stdout | partNumber=1&uploadId=68d650bdd73ec60008f93513 gunicorn-registry stdout | content-length:593 gunicorn-registry stdout | content-md5:Dll55tbRWeQJct97/6Z0GA== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083717Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:17,344 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083717Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ce8fedda843b9e7909dd414be1e6f3e2bc20daa188552073d8061f0d6372972b gunicorn-registry stdout | 2025-09-26 08:37:17,344 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | d002f85ba393bedea711eaa21943c6c3060b199c44f6536b200bf8e2dea02751 gunicorn-registry stdout | 2025-09-26 08:37:17,344 [255] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,344 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:17,344 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:17,345 [255] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:17,345 [255] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:17,424 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210?uploadId=68d650bdd73ec60008f93513&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:17,424 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9dwh-8hbli9-jow', 'x-amz-id-2': 'mg0l9dwh-8hbli9-jow', 'ETag': '"0e5979e6d6d159e40972df7bffa67418"', 'Date': 'Fri, 26 Sep 2025 08:37:17 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:17,424 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:17,425 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,425 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:17,425 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,425 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9dwh-8hbli9-jow', 'HostId': 'mg0l9dwh-8hbli9-jow', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9dwh-8hbli9-jow', 'x-amz-id-2': 'mg0l9dwh-8hbli9-jow', 'etag': '"0e5979e6d6d159e40972df7bffa67418"', 'date': 'Fri, 26 Sep 2025 08:37:17 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"0e5979e6d6d159e40972df7bffa67418"'} gunicorn-registry stdout | 2025-09-26 08:37:17,425 [255] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210', 'UploadId': '68d650bdd73ec60008f93513', 'MultipartUpload': {'Parts': [{'ETag': '"0e5979e6d6d159e40972df7bffa67418"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:17,425 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,425 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,425 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,425 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,426 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,426 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,426 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,426 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:17,426 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:17,426 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:17,426 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:17,426 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,426 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,426 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,426 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210', 'query_string': {'uploadId': '68d650bdd73ec60008f93513'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"0e5979e6d6d159e40972df7bffa67418"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210?uploadId=68d650bdd73ec60008f93513', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210', 'UploadId': '68d650bdd73ec60008f93513', 'MultipartUpload': {'Parts': [{'ETag': '"0e5979e6d6d159e40972df7bffa67418"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:17,427 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,427 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,427 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,427 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,427 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:17,427 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210 gunicorn-registry stdout | uploadId=68d650bdd73ec60008f93513 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:69de65156fba5ceabffc43cc16ea4a9ec12b2eac719c6cb777aab8b5fe9ee51a gunicorn-registry stdout | x-amz-date:20250926T083717Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 69de65156fba5ceabffc43cc16ea4a9ec12b2eac719c6cb777aab8b5fe9ee51a gunicorn-registry stdout | 2025-09-26 08:37:17,427 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083717Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 11f4975349e532b778932ed6160b55cb4790f0866f1613a13340347a7d9b4540 gunicorn-registry stdout | 2025-09-26 08:37:17,427 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ef1b1af5878763206b6d73364fea2da71268a14a200fed44b29c5fead91f6fac gunicorn-registry stdout | 2025-09-26 08:37:17,427 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,427 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:17,428 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:17,443 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210?uploadId=68d650bdd73ec60008f93513 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:17,443 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9dyt-9v06lw-11dm', 'x-amz-id-2': 'mg0l9dyt-9v06lw-11dm', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:17 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:17,443 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210"189fa31f0a77a5767964ce4630e61481-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210?uploadId=68d650bdd73ec60008f93513' gunicorn-registry stdout | 2025-09-26 08:37:17,444 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,444 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,444 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:17,444 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,444 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9dyt-9v06lw-11dm', 'HostId': 'mg0l9dyt-9v06lw-11dm', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9dyt-9v06lw-11dm', 'x-amz-id-2': 'mg0l9dyt-9v06lw-11dm', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:17 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210?uploadId=68d650bdd73ec60008f93513', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/694df9cd-88c2-4472-aebe-151e89d21210', 'ETag': '"189fa31f0a77a5767964ce4630e61481-1"'} gunicorn-registry stdout | 2025-09-26 08:37:17,444 [255] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:17,445 [255] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:17,445 [255] [DEBUG] [data.registry_model.blobuploader] Uploaded 593 bytes to blob 4d582d86-fa60-4c49-8c29-8c9b415f392d took 0.13929295539855957 seconds gunicorn-registry stdout | 2025-09-26 08:37:17,446 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['4d582d86-fa60-4c49-8c29-8c9b415f392d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:17,450 [255] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '4d582d86-fa60-4c49-8c29-8c9b415f392d', 593, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwfSwidmFyaWFudCI6InY3In03OThjYjQ4YTMxMDM0ZWM1OGRhODIxOTE5YjYxZDA1N2VmMDFhYmM2YzM4MzkiXREAAAAAAAAAABIAAAAAAAAdN4R+whnVjySOecpG+6TRFylorpLFB9Hs8ogtQjXbZJRiLg==', 9, '{"chunks": [["uploads/694df9cd-88c2-4472-aebe-151e89d21210", 0, 593]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 17, 223864), None, None, 57]) gunicorn-registry stdout | 2025-09-26 08:37:17,455 [255] [DEBUG] [app] Ending request: urn:request:2abeda2c-f794-4de5-b57a-4b669db0b1a5 (/v2/testorg2/alpine/blobs/uploads/4d582d86-fa60-4c49-8c29-8c9b415f392d) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:2abeda2c-f794-4de5-b57a-4b669db0b1a5', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/4d582d86-fa60-4c49-8c29-8c9b415f392d', 'path': '/v2/testorg2/alpine/blobs/uploads/4d582d86-fa60-4c49-8c29-8c9b415f392d', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:17,455 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:17,455 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:17,455 [255] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:17 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/4d582d86-fa60-4c49-8c29-8c9b415f392d HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:17 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/4d582d86-fa60-4c49-8c29-8c9b415f392d HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.189 2369 0.189) gunicorn-web stdout | 2025-09-26 08:37:17,640 [239] [DEBUG] [app] Starting request: urn:request:3eb42b95-5572-4918-bca7-b4207ddf4774 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:37:17,641 [250] [DEBUG] [app] Starting request: urn:request:dfa9a7fc-8625-4b95-9fc2-c6fd80b7e48a (/v2/testorg2/alpine/manifests/sha256:9a00b501930d225081164db0456189ebc25b9c7524989c38f4d77c0a96a9ca9a) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:17,641 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:9a00b501930d225081164db0456189ebc25b9c7524989c38f4d77c0a96a9ca9a', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:17,641 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:17,641 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-web stdout | 2025-09-26 08:37:17,641 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:37:17,642 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:17,643 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:17,643 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:17,643 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:17,643 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:17,644 [256] [DEBUG] [app] Starting request: urn:request:9352cea1-a902-454e-bcaf-197da404d962 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:37:17,644 [256] [DEBUG] [app] Ending request: urn:request:9352cea1-a902-454e-bcaf-197da404d962 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:9352cea1-a902-454e-bcaf-197da404d962', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:37:17,644 [250] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:17,644 [256] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:37:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-registry stdout | 2025-09-26 08:37:17,644 [250] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:17,645 [250] [DEBUG] [data.cache.impl] Found result in cache for key repository_lookup_testorg2_alpine: {'id': 3, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': 0, 'namespace_user': {'stripe_id': None}} gunicorn-web stdout | 2025-09-26 08:37:17,645 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:37:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-web stdout | 2025-09-26 08:37:17,646 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:37:17,646 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:9a00b501930d225081164db0456189ebc25b9c7524989c38f4d77c0a96a9ca9a', 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:17,647 [242] [DEBUG] [app] Starting request: urn:request:d9878c8f-b500-433f-80fa-cad2a3a755f2 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:37:17,648 [242] [DEBUG] [app] Ending request: urn:request:d9878c8f-b500-433f-80fa-cad2a3a755f2 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:d9878c8f-b500-433f-80fa-cad2a3a755f2', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:37:17,648 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:37:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:37:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:37:17,650 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:37:17,651 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:37:17,651 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:37:17,651 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-registry stdout | 2025-09-26 08:37:17,652 [250] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [3, 'sha256:8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c', 1, 3, 'sha256:5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5', 1]) gunicorn-registry stdout | 2025-09-26 08:37:17,656 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:9a00b501930d225081164db0456189ebc25b9c7524989c38f4d77c0a96a9ca9a', 3, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:17,659 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:37:17,659 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-registry stdout | 2025-09-26 08:37:17,660 [250] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [3, 'sha256:9a00b501930d225081164db0456189ebc25b9c7524989c38f4d77c0a96a9ca9a', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c",\n "size": 593\n },\n "layers": [\n {\n "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",\n "digest": "sha256:5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5",\n "size": 3219038\n }\n ],\n "annotations": {\n "com.docker.official-images.bashbrew.arch": "arm32v7",\n "org.opencontainers.image.base.name": "scratch",\n "org.opencontainers.image.created": "2025-07-15T11:01:16Z",\n "org.opencontainers.image.revision": "01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e",\n "org.opencontainers.image.source": "https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:armv7",\n "org.opencontainers.image.url": "https://hub.docker.com/_/alpine",\n "org.opencontainers.image.version": "3.22.1"\n }\n}', 'application/vnd.oci.image.config.v1+json', 3219038, None, True, None, True]) gunicorn-registry stdout | 2025-09-26 08:37:17,663 [250] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [3, 23, 57, 3, 23, 58]) gunicorn-registry stdout | 2025-09-26 08:37:17,665 [250] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:17,666 [250] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [4, 1]) gunicorn-registry stdout | 2025-09-26 08:37:17,668 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 58, 23, 1]) gunicorn-registry stdout | 2025-09-26 08:37:17,670 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 57, 23, 1]) gunicorn-web stdout | 2025-09-26 08:37:17,670 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-registry stdout | 2025-09-26 08:37:17,671 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:17,672 [250] [INFO] [data.model.quota] updating namespace size for manifest 23 in namespace 4, QuotaOperation.ADD 3219631 gunicorn-registry stdout | 2025-09-26 08:37:17,673 [250] [DEBUG] [peewee] ('UPDATE "quotanamespacesize" SET "size_bytes" = ("quotanamespacesize"."size_bytes" + %s) WHERE ("quotanamespacesize"."namespace_user_id" = %s)', [3219631, 4]) gunicorn-web stdout | 2025-09-26 08:37:17,673 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-registry stdout | 2025-09-26 08:37:17,674 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:17,675 [250] [INFO] [data.model.quota] updating repository size for manifest 23 in repository 3, QuotaOperation.ADD 3219631 gunicorn-registry stdout | 2025-09-26 08:37:17,676 [250] [DEBUG] [peewee] ('UPDATE "quotarepositorysize" SET "size_bytes" = ("quotarepositorysize"."size_bytes" + %s) WHERE ("quotarepositorysize"."repository_id" = %s)', [3219631, 3]) gunicorn-registry stdout | 2025-09-26 08:37:17,677 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [23, None, 1758879437677, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:17,678 [239] [DEBUG] [app] Ending request: urn:request:3eb42b95-5572-4918-bca7-b4207ddf4774 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:3eb42b95-5572-4918-bca7-b4207ddf4774', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:37:17,678 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:37:17,679 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:37:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:37:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.039 118 0.040) gunicorn-registry stdout | 2025-09-26 08:37:17,679 [250] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-86699fee-70c6-441a-a982-720e50235885', 3, 23, 1758875837677, 1758879437677, False, True, False, 1]) gunicorn-registry stdout | 2025-09-26 08:37:17,683 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:17,687 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['4225f69b-0f67-49b8-b880-b3e74cd339d9']) gunicorn-registry stdout | 2025-09-26 08:37:17,690 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:17,692 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:17,692 [250] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c'} gunicorn-registry stdout | 2025-09-26 08:37:17,692 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,693 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,693 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,693 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,693 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,693 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,693 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,693 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:17,693 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:17,693 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:17,693 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:17,693 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,694 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,694 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,694 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:17,694 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,694 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,694 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,694 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,694 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:17,694 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083717Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:17,695 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083717Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 3eef22895151dccbe52425fa67b35256d97bccfc35f7a9e6a6515fc497259ff9 gunicorn-registry stdout | 2025-09-26 08:37:17,695 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 94d154b018a96aaad0e5c257c680bd108cbf48588d741f0298997ffd13214cba gunicorn-registry stdout | 2025-09-26 08:37:17,695 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,695 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:17,695 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-web stdout | 2025-09-26 08:37:17,728 [239] [DEBUG] [app] Starting request: urn:request:917d44f2-deee-4dcb-8e63-c1de9c8d1b99 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:37:17,730 [257] [DEBUG] [app] Starting request: urn:request:a74e705e-bb7e-4d0e-b6ad-1753fb81f719 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:37:17,731 [257] [DEBUG] [app] Ending request: urn:request:a74e705e-bb7e-4d0e-b6ad-1753fb81f719 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:a74e705e-bb7e-4d0e-b6ad-1753fb81f719', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:37:17,731 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:37:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:37:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:37:17,731 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:37:17,733 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:37:17,735 [239] [DEBUG] [app] Starting request: urn:request:659e2dba-a4fc-4cb4-9a79-bd5aeb27097a (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:37:17,735 [239] [DEBUG] [app] Ending request: urn:request:659e2dba-a4fc-4cb4-9a79-bd5aeb27097a (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:659e2dba-a4fc-4cb4-9a79-bd5aeb27097a', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:37:17,735 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:37:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:37:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.002) gunicorn-web stdout | 2025-09-26 08:37:17,736 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:37:17,736 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:37:17,736 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:37:17,737 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-registry stdout | 2025-09-26 08:37:17,742 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c HTTP/1.1" 200 593 gunicorn-registry stdout | 2025-09-26 08:37:17,743 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9e69-eam7bd-19bl', 'x-amz-id-2': 'mg0l9e69-eam7bd-19bl', 'ETag': '"189fa31f0a77a5767964ce4630e61481-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:17 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '593', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:17 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:17,743 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-web stdout | 2025-09-26 08:37:17,744 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-registry stdout | 2025-09-26 08:37:17,744 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:17,744 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:17,744 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:17,744 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9e69-eam7bd-19bl', 'HostId': 'mg0l9e69-eam7bd-19bl', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9e69-eam7bd-19bl', 'x-amz-id-2': 'mg0l9e69-eam7bd-19bl', 'etag': '"189fa31f0a77a5767964ce4630e61481-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:17 GMT', 'content-type': 'application/octet-stream', 'content-length': '593', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:17 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 17, tzinfo=tzutc()), 'ContentLength': 593, 'ETag': '"189fa31f0a77a5767964ce4630e61481-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-web stdout | 2025-09-26 08:37:17,744 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-registry stdout | 2025-09-26 08:37:17,746 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [23, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:17,750 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['7beaafd4-39da-49a9-9c7f-91271ed00065', 'com.docker.official-images.bashbrew.arch', 'arm32v7', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:17,753 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 23, 71]) gunicorn-web stdout | 2025-09-26 08:37:17,753 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-registry stdout | 2025-09-26 08:37:17,756 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [23, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:17,756 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:37:17,759 [239] [DEBUG] [app] Ending request: urn:request:917d44f2-deee-4dcb-8e63-c1de9c8d1b99 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:917d44f2-deee-4dcb-8e63-c1de9c8d1b99', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:37:17,760 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:37:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.033 118 0.033) gunicorn-registry stdout | 2025-09-26 08:37:17,760 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['a590e5ed-0a45-4089-8217-e36ad726c402', 'org.opencontainers.image.base.name', 'scratch', 1, 1]) gunicorn-web stdout | 2025-09-26 08:37:17,760 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:37:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" gunicorn-registry stdout | 2025-09-26 08:37:17,763 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 23, 72]) gunicorn-registry stdout | 2025-09-26 08:37:17,766 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [23, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:17,770 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['464245d7-a635-48c8-845b-bf586fbea200', 'org.opencontainers.image.created', '2025-07-15T11:01:16Z', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:17,772 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 23, 73]) gunicorn-registry stdout | 2025-09-26 08:37:17,776 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [23, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:17,780 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['96f72d6e-0567-4baa-93d7-19ef4c77a84a', 'org.opencontainers.image.revision', '01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:17,783 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 23, 74]) gunicorn-registry stdout | 2025-09-26 08:37:17,787 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [23, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:17,790 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['7739d746-011a-4b8d-b5dc-e61b303c1bf6', 'org.opencontainers.image.source', 'https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:armv7', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:17,793 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 23, 75]) gunicorn-registry stdout | 2025-09-26 08:37:17,796 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [23, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:17,800 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['c020c9f8-d7d3-4060-b40b-9ea32c761582', 'org.opencontainers.image.url', 'https://hub.docker.com/_/alpine', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:17,802 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 23, 76]) gunicorn-registry stdout | 2025-09-26 08:37:17,806 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [23, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:17,810 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['bfb5853b-16ad-475e-af7a-176ff7464856', 'org.opencontainers.image.version', '3.22.1', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:17,812 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 23, 77]) gunicorn-registry stdout | 2025-09-26 08:37:17,816 [250] [DEBUG] [app] Ending request: urn:request:dfa9a7fc-8625-4b95-9fc2-c6fd80b7e48a (/v2/testorg2/alpine/manifests/sha256:9a00b501930d225081164db0456189ebc25b9c7524989c38f4d77c0a96a9ca9a) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:dfa9a7fc-8625-4b95-9fc2-c6fd80b7e48a', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/manifests/sha256:9a00b501930d225081164db0456189ebc25b9c7524989c38f4d77c0a96a9ca9a', 'path': '/v2/testorg2/alpine/manifests/sha256:9a00b501930d225081164db0456189ebc25b9c7524989c38f4d77c0a96a9ca9a', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c', 'size': 593}, 'layers': [{'mediaType': 'application/vnd.oci.image.layer.v1.tar+gzip', 'digest': 'sha256:5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5', 'size': 3219038}], 'annotations': {'com.docker.official-images.bashbrew.arch': 'arm32v7', 'org.opencontainers.image.base.name': 'scratch', 'org.opencontainers.image.created': '2025-07-15T11:01:16Z', 'org.opencontainers.image.revision': '01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e', 'org.opencontainers.image.source': 'https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:armv7', 'org.opencontainers.image.url': 'https://hub.docker.com/_/alpine', 'org.opencontainers.image.version': '3.22.1'}}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:17,816 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:17,816 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:17,816 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:17 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:9a00b501930d225081164db0456189ebc25b9c7524989c38f4d77c0a96a9ca9a HTTP/1.1" 201 2 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:17 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:9a00b501930d225081164db0456189ebc25b9c7524989c38f4d77c0a96a9ca9a HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.176 2847 0.176) gunicorn-registry stdout | 2025-09-26 08:37:17,998 [250] [DEBUG] [app] Starting request: urn:request:d73de440-69a2-402a-bb01-57862a4c4d5d (/v2/testorg2/alpine/blobs/sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:17,999 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:17,999 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:17,999 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:18,000 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:18,000 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:18,000 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:18,000 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:18,000 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:18,001 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,005 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,009 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:18,009 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6_2 gunicorn-registry stdout | 2025-09-26 08:37:18,009 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:18,010 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,014 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,018 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,021 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,025 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,028 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6_2: None gunicorn-registry stdout | 2025-09-26 08:37:18,028 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6_2: None gunicorn-registry stdout | 2025-09-26 08:37:18,028 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:18,029 [250] [DEBUG] [app] Ending request: urn:request:d73de440-69a2-402a-bb01-57862a4c4d5d (/v2/testorg2/alpine/blobs/sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:d73de440-69a2-402a-bb01-57862a4c4d5d', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 'path': '/v2/testorg2/alpine/blobs/sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:18,029 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:18,029 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:18,029 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:18 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:18 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.032 1718 0.032) gunicorn-registry stdout | 2025-09-26 08:37:18,145 [250] [DEBUG] [app] Starting request: urn:request:80e67f19-914d-475b-a9fb-70def7053e03 (/v2/testorg2/alpine/blobs/sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:18,146 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:18,146 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:18,146 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:18,147 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:18,147 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:18,148 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:18,148 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:18,148 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:18,148 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,153 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,156 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:18,156 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6_2 gunicorn-registry stdout | 2025-09-26 08:37:18,157 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:18,158 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,162 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,165 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,169 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,173 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,176 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6_2: None gunicorn-registry stdout | 2025-09-26 08:37:18,176 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6_2: None gunicorn-registry stdout | 2025-09-26 08:37:18,176 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:18,177 [250] [DEBUG] [app] Ending request: urn:request:80e67f19-914d-475b-a9fb-70def7053e03 (/v2/testorg2/alpine/blobs/sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:80e67f19-914d-475b-a9fb-70def7053e03', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 'path': '/v2/testorg2/alpine/blobs/sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:18,177 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:18,177 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:18,177 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:18 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:18 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.033 1718 0.032) gunicorn-registry stdout | 2025-09-26 08:37:18,218 [257] [DEBUG] [app] Starting request: urn:request:ad30e3c3-1650-4bc8-b9b7-5bc767213484 (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:18,218 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:18,218 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:18,219 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:18,219 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:18,219 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:18,220 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:18,220 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:18,220 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:18,220 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,225 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,229 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,234 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,238 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,242 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,246 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:18,250 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,254 [257] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, 'f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 18, 254296)]) gunicorn-registry stdout | 2025-09-26 08:37:18,259 [257] [DEBUG] [app] Ending request: urn:request:ad30e3c3-1650-4bc8-b9b7-5bc767213484 (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:ad30e3c3-1650-4bc8-b9b7-5bc767213484', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:18,259 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:18,259 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:18 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.043 1697 0.043) gunicorn-registry stdout | 2025-09-26 08:37:18,260 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:18 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:37:18,301 [257] [DEBUG] [app] Starting request: urn:request:241b9c63-7c66-400c-9787-670b4858549b (/v2/testorg2/alpine/blobs/uploads/f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:18,302 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:18,302 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:18,302 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:18,303 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:18,303 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:18,303 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:18,303 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:18,303 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:18,304 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,309 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,312 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,316 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,320 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,324 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,328 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,331 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:18,335 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,339 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:18,339 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:18,339 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:18,340 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:18,340 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:18,341 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,341 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,341 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,341 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,341 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,341 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,341 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,341 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,341 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:18,341 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:18,341 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:18,341 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:18,342 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,342 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,342 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,343 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:18,343 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,343 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,343 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,343 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,343 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:18,343 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083718Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:18,343 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083718Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | bad67cd435a8a21503efb535d242e7803b553af018ce3c7e243af0de67da0b94 gunicorn-registry stdout | 2025-09-26 08:37:18,343 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 659a0f208adcc7131e055c12d137f8e7775cec4ef9d69fef0e37879cb1f9da6b gunicorn-registry stdout | 2025-09-26 08:37:18,344 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,344 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:18,344 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:18,350 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:18,350 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9eoa-8hjz2w-g97', 'x-amz-id-2': 'mg0l9eoa-8hjz2w-g97', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:18 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:18,350 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe868d650bed73ec60008f93522' gunicorn-registry stdout | 2025-09-26 08:37:18,351 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,351 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:18,351 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,351 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9eoa-8hjz2w-g97', 'HostId': 'mg0l9eoa-8hjz2w-g97', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9eoa-8hjz2w-g97', 'x-amz-id-2': 'mg0l9eoa-8hjz2w-g97', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:18 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8', 'UploadId': '68d650bed73ec60008f93522'} gunicorn-registry stdout | 2025-09-26 08:37:18,351 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:18,375 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:18,375 [257] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:18,375 [257] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8', 'UploadId': '68d650bed73ec60008f93522', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dabe480>, 'ContentLength': 80992} gunicorn-registry stdout | 2025-09-26 08:37:18,376 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,376 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,376 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,376 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,376 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,376 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,376 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,376 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,376 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:18,376 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:18,376 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:18,376 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:18,377 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,377 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,377 [257] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:18,377 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,377 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,377 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8', 'query_string': {'uploadId': '68d650bed73ec60008f93522', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '80992', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'ul1WCtXpGEbei3Gh5FR7HQ==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dabe480>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8?uploadId=68d650bed73ec60008f93522&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8', 'UploadId': '68d650bed73ec60008f93522', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dabe480>, 'ContentLength': 80992}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:18,377 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,378 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,378 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,378 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,378 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:18,378 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8 gunicorn-registry stdout | partNumber=1&uploadId=68d650bed73ec60008f93522 gunicorn-registry stdout | content-length:80992 gunicorn-registry stdout | content-md5:ul1WCtXpGEbei3Gh5FR7HQ== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083718Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:18,378 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083718Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | c6e9731899b3cf700b4e4de199e66138327d4e3fdfe99e8c976f4f6202191673 gunicorn-registry stdout | 2025-09-26 08:37:18,378 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6342899866f3a4288e45b4e2f4197954665889ac0262a76d8b9f62751e699864 gunicorn-registry stdout | 2025-09-26 08:37:18,378 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,379 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:18,379 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:18,381 [257] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:18,381 [257] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:18,483 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8?uploadId=68d650bed73ec60008f93522&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:18,484 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ep9-92kqpt-rga', 'x-amz-id-2': 'mg0l9ep9-92kqpt-rga', 'ETag': '"ba5d560ad5e91846de8b71a1e4547b1d"', 'Date': 'Fri, 26 Sep 2025 08:37:18 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:18,484 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:18,484 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,484 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:18,484 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,484 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9ep9-92kqpt-rga', 'HostId': 'mg0l9ep9-92kqpt-rga', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ep9-92kqpt-rga', 'x-amz-id-2': 'mg0l9ep9-92kqpt-rga', 'etag': '"ba5d560ad5e91846de8b71a1e4547b1d"', 'date': 'Fri, 26 Sep 2025 08:37:18 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"ba5d560ad5e91846de8b71a1e4547b1d"'} gunicorn-registry stdout | 2025-09-26 08:37:18,484 [257] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8', 'UploadId': '68d650bed73ec60008f93522', 'MultipartUpload': {'Parts': [{'ETag': '"ba5d560ad5e91846de8b71a1e4547b1d"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:18,484 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,485 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,485 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,485 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,485 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,485 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,485 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,485 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:18,485 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:18,485 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:18,485 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:18,485 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,485 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,486 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,486 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8', 'query_string': {'uploadId': '68d650bed73ec60008f93522'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"ba5d560ad5e91846de8b71a1e4547b1d"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8?uploadId=68d650bed73ec60008f93522', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8', 'UploadId': '68d650bed73ec60008f93522', 'MultipartUpload': {'Parts': [{'ETag': '"ba5d560ad5e91846de8b71a1e4547b1d"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:18,486 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,486 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,486 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,486 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,486 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:18,486 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8 gunicorn-registry stdout | uploadId=68d650bed73ec60008f93522 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:d6ef56c214297702fad31bb4d21308830a4961d009dc9eb19f0d70c76b0b0234 gunicorn-registry stdout | x-amz-date:20250926T083718Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | d6ef56c214297702fad31bb4d21308830a4961d009dc9eb19f0d70c76b0b0234 gunicorn-registry stdout | 2025-09-26 08:37:18,486 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083718Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 524001d9f08fb1b86b8c0fcd6ce6e8ae66faa61afbaceecaab4dabce2c8ff707 gunicorn-registry stdout | 2025-09-26 08:37:18,486 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 18875d3141b277120f92f5987e22ab317125d4761a7031f02b7b2f82e623919a gunicorn-registry stdout | 2025-09-26 08:37:18,486 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,486 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:18,487 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:18,500 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8?uploadId=68d650bed73ec60008f93522 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:18,501 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9es7-au1dlw-teo', 'x-amz-id-2': 'mg0l9es7-au1dlw-teo', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:18 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:18,501 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8"2fd517fdf74833046af1e62347ea5054-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8?uploadId=68d650bed73ec60008f93522' gunicorn-registry stdout | 2025-09-26 08:37:18,501 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,501 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,501 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:18,501 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,502 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9es7-au1dlw-teo', 'HostId': 'mg0l9es7-au1dlw-teo', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9es7-au1dlw-teo', 'x-amz-id-2': 'mg0l9es7-au1dlw-teo', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:18 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8?uploadId=68d650bed73ec60008f93522', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8', 'ETag': '"2fd517fdf74833046af1e62347ea5054-1"'} gunicorn-registry stdout | 2025-09-26 08:37:18,502 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:18,503 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:18,503 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 80992 bytes to blob f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13 took 0.1641225814819336 seconds gunicorn-registry stdout | 2025-09-26 08:37:18,503 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,508 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, 'f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13', 80992, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwb25zaGlwVHlwZSI6IkdFTkVSQVRFRF9GUk9NIn1dfX1iMjIxNTNmYzZhNGY4ZWM5NmRkMTM1OCIsInJlbGF0aSAAAAAAAAAAAOIJAAAAAABfjgdG6MkwsQBygzJYXA9Z4xa9+enWqFJh/yu/XQ6ufZRiLg==', 9, '{"chunks": [["uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8", 0, 80992]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 18, 254296), None, None, 59]) gunicorn-registry stdout | 2025-09-26 08:37:18,514 [257] [DEBUG] [app] Ending request: urn:request:241b9c63-7c66-400c-9787-670b4858549b (/v2/testorg2/alpine/blobs/uploads/f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:241b9c63-7c66-400c-9787-670b4858549b', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13', 'path': '/v2/testorg2/alpine/blobs/uploads/f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:18,514 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:18,514 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:18,514 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:18 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:18 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.215 82770 0.214) gunicorn-registry stdout | 2025-09-26 08:37:18,555 [250] [DEBUG] [app] Starting request: urn:request:fafab3f1-1d46-4c66-8297-66ea753e1d7f (/v2/testorg2/alpine/blobs/uploads/f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:18,556 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:18,556 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:18,556 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:18,557 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:18,557 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:18,557 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:18,557 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:18,557 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:18,559 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,563 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,566 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,570 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,574 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,578 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,582 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,585 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:18,589 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,592 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:18,592 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:18,592 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:18,593 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:18,593 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b5e272f5-0b58-4eec-8cf8-520a4c772e35', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:18,594 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,594 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,594 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,594 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,594 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,594 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,594 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,594 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,594 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:18,594 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:18,594 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:18,594 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:18,594 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,594 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,594 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,594 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/b5e272f5-0b58-4eec-8cf8-520a4c772e35?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b5e272f5-0b58-4eec-8cf8-520a4c772e35', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b5e272f5-0b58-4eec-8cf8-520a4c772e35?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b5e272f5-0b58-4eec-8cf8-520a4c772e35', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:18,595 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,595 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,595 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,595 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,595 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:18,595 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b5e272f5-0b58-4eec-8cf8-520a4c772e35 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083718Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:18,595 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083718Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4af0f697b1c6b411d80256d95c81787436c6039ebf6f7e641013c89be683c0a3 gunicorn-registry stdout | 2025-09-26 08:37:18,595 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | cf27d4602f6be6dd5bc9866b768a48463c7c4fb838d8616170b5466a4127aeea gunicorn-registry stdout | 2025-09-26 08:37:18,595 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,595 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:18,595 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:18,601 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b5e272f5-0b58-4eec-8cf8-520a4c772e35?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:18,601 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ev8-cmw7zo-p5a', 'x-amz-id-2': 'mg0l9ev8-cmw7zo-p5a', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:18 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:18,601 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/b5e272f5-0b58-4eec-8cf8-520a4c772e3568d650bed73ec60008f9352b' gunicorn-registry stdout | 2025-09-26 08:37:18,601 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,601 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:18,601 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,601 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9ev8-cmw7zo-p5a', 'HostId': 'mg0l9ev8-cmw7zo-p5a', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ev8-cmw7zo-p5a', 'x-amz-id-2': 'mg0l9ev8-cmw7zo-p5a', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:18 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b5e272f5-0b58-4eec-8cf8-520a4c772e35', 'UploadId': '68d650bed73ec60008f9352b'} gunicorn-registry stdout | 2025-09-26 08:37:18,601 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:18,602 [250] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b5e272f5-0b58-4eec-8cf8-520a4c772e35', 'UploadId': '68d650bed73ec60008f9352b'} gunicorn-registry stdout | 2025-09-26 08:37:18,602 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,602 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,602 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,602 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,602 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,602 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,602 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:18,602 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:18,603 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:18,603 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:18,603 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,603 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,603 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,603 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/b5e272f5-0b58-4eec-8cf8-520a4c772e35', 'query_string': {'uploadId': '68d650bed73ec60008f9352b'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b5e272f5-0b58-4eec-8cf8-520a4c772e35', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b5e272f5-0b58-4eec-8cf8-520a4c772e35?uploadId=68d650bed73ec60008f9352b', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b5e272f5-0b58-4eec-8cf8-520a4c772e35', 'UploadId': '68d650bed73ec60008f9352b'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:18,603 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,603 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,603 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,603 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,603 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:18,603 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b5e272f5-0b58-4eec-8cf8-520a4c772e35 gunicorn-registry stdout | uploadId=68d650bed73ec60008f9352b gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083718Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:18,603 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083718Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 1542c64043879dc7cff5723c7a9d8183022132523bb398ec47eec2b97cda743d gunicorn-registry stdout | 2025-09-26 08:37:18,603 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 4195e45412e8a596d8b1bb4403e05e77648e572588de7a8b80efc0b1cbed2102 gunicorn-registry stdout | 2025-09-26 08:37:18,604 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,604 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:18,604 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:18,610 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b5e272f5-0b58-4eec-8cf8-520a4c772e35?uploadId=68d650bed73ec60008f9352b HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:18,610 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9evh-cs597w-12gb', 'x-amz-id-2': 'mg0l9evh-cs597w-12gb', 'Date': 'Fri, 26 Sep 2025 08:37:18 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:18,610 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:18,611 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,611 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:18,611 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,611 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9evh-cs597w-12gb', 'HostId': 'mg0l9evh-cs597w-12gb', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9evh-cs597w-12gb', 'x-amz-id-2': 'mg0l9evh-cs597w-12gb', 'date': 'Fri, 26 Sep 2025 08:37:18 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:18,611 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13 took 0.018732309341430664 seconds gunicorn-registry stdout | 2025-09-26 08:37:18,611 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,616 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, 'f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13', 80992, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwb25zaGlwVHlwZSI6IkdFTkVSQVRFRF9GUk9NIn1dfX1iMjIxNTNmYzZhNGY4ZWM5NmRkMTM1OCIsInJlbGF0aSAAAAAAAAAAAOIJAAAAAABfjgdG6MkwsQBygzJYXA9Z4xa9+enWqFJh/yu/XQ6ufZRiLg==', 9, '{"chunks": [["uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8", 0, 80992]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 18, 254296), None, None, 59]) gunicorn-registry stdout | 2025-09-26 08:37:18,620 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:18,621 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:18,621 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:18,622 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:18,622 [250] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/e2/e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6'} gunicorn-registry stdout | 2025-09-26 08:37:18,622 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,622 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,622 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,622 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,622 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,622 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,622 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,622 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:18,622 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:18,622 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:18,622 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:18,622 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,623 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,623 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,623 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/e2/e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/e2/e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/e2/e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/e2/e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:18,623 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,623 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,623 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,623 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,623 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:18,623 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/e2/e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083718Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:18,623 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083718Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | d4e8ddcdf6e9eade7f85456509ce8928c91b0e3ff16cd1222fcf1911c741ad55 gunicorn-registry stdout | 2025-09-26 08:37:18,623 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | cafc2e08d8bd4ccf7a15182db339e11f9611a950255c957e7fe9fd6982fba761 gunicorn-registry stdout | 2025-09-26 08:37:18,623 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,623 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:18,624 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:18,628 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/e2/e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:18,629 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ew0-d3h4th-19yz', 'x-amz-id-2': 'mg0l9ew0-d3h4th-19yz', 'Content-Type': 'application/xml', 'Content-Length': '339', 'Date': 'Fri, 26 Sep 2025 08:37:18 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:18,629 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:18,629 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,629 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:18,629 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,629 [250] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:18,629 [250] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:18,629 [250] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/e2/e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6 gunicorn-registry stdout | 2025-09-26 08:37:18,629 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:18,630 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:18,630 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:18,630 [250] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:18,630 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,630 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,630 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,630 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,630 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,630 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,630 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,630 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:18,630 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:18,630 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:18,630 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:18,631 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,631 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,631 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,631 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:18,631 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,631 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,631 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,631 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,631 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,631 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:18,631 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083718Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:18,631 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083718Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 5a4fe425fd2c34041b752f05f422e7076d32c11f7cca9702218f93107cb73a08 gunicorn-registry stdout | 2025-09-26 08:37:18,631 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 1591a08936889db64b6d4d44932307d39e1f7f733f5bd8a85663329cfccf4769 gunicorn-registry stdout | 2025-09-26 08:37:18,631 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,631 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,631 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:18,632 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:18,636 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:18,636 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ew8-d8a82e-5a5', 'x-amz-id-2': 'mg0l9ew8-d8a82e-5a5', 'ETag': '"2fd517fdf74833046af1e62347ea5054-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:18 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '80992', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:18 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:18,636 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:18,637 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,637 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:18,637 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,637 [250] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/e2/e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:18,637 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:18,637 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/e2/e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:18,637 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/e2/e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:18,637 [250] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/e2/e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/e2/e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 'extra_args': {}, 'callbacks': [], 'size': 80992} gunicorn-registry stdout | 2025-09-26 08:37:18,637 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,638 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,638 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,638 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,638 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,638 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,638 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,638 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,638 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,638 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,638 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:18,638 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:18,638 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:18,638 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:18,638 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,638 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,638 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,638 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/e2/e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/e2/e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/e2/e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/e2/e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:18,638 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,639 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,639 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,639 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,639 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,639 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:18,639 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/e2/e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7eb0cd05-5c3a-41e1-b9a9-f188c3b55fe8 gunicorn-registry stdout | x-amz-date:20250926T083718Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:18,639 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083718Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 276669bd1347802ff2a3c67a0696f0f979f17866fc17aca3d22cf1413f661edc gunicorn-registry stdout | 2025-09-26 08:37:18,639 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | cb6bdfc66becfe7369e893cd59277d51c03a8868972d19afdc88695b234ae0e4 gunicorn-registry stdout | 2025-09-26 08:37:18,639 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,639 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,639 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:18,639 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:18,640 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:18,663 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/e2/e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:18,664 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ewg-dcz2o0-13gj', 'x-amz-id-2': 'mg0l9ewg-dcz2o0-13gj', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:18 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:18,664 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:18.000Z"2fd517fdf74833046af1e62347ea5054-1"' gunicorn-registry stdout | 2025-09-26 08:37:18,664 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,665 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,665 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:18,665 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,665 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:18,665 [250] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13 with digest sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6 took 0.03636050224304199 seconds gunicorn-registry stdout | 2025-09-26 08:37:18,666 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,669 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,671 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['fbcd333c-9118-4892-8b04-3d3f115939f0', 80992, None, True, True, 'sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6']) gunicorn-registry stdout | 2025-09-26 08:37:18,672 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [60, 9]) gunicorn-registry stdout | 2025-09-26 08:37:18,674 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,675 [250] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 60, datetime.datetime(2025, 9, 26, 8, 37, 18, 675547), datetime.datetime(2025, 9, 26, 9, 37, 18, 675531)]) gunicorn-registry stdout | 2025-09-26 08:37:18,677 [250] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [59]) gunicorn-registry stdout | 2025-09-26 08:37:18,680 [250] [DEBUG] [app] Ending request: urn:request:fafab3f1-1d46-4c66-8297-66ea753e1d7f (/v2/testorg2/alpine/blobs/uploads/f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:fafab3f1-1d46-4c66-8297-66ea753e1d7f', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13?digest=sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 'path': '/v2/testorg2/alpine/blobs/uploads/f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13', 'parameters': {'digest': 'sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:18,681 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:18,681 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:18,681 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:18 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13?digest=sha256%3Ae2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:18 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/f62a5b93-fdc7-43ca-aa5f-92e1b81a8e13?digest=sha256%3Ae2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.127 1853 0.127) gunicorn-registry stdout | 2025-09-26 08:37:18,864 [250] [DEBUG] [app] Starting request: urn:request:1b5d9f53-e67c-4c54-8aa4-5eac5f1084c6 (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:18,864 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:18,864 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:18,864 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:18,866 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:18,866 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:18,866 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:18,866 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:18,866 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:18,867 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,871 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,875 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,879 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,882 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,886 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,890 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:18,893 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,897 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, '787c3277-bb52-4bea-8046-7800f2e23355', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 18, 897102)]) gunicorn-registry stdout | 2025-09-26 08:37:18,902 [250] [DEBUG] [app] Ending request: urn:request:1b5d9f53-e67c-4c54-8aa4-5eac5f1084c6 (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:1b5d9f53-e67c-4c54-8aa4-5eac5f1084c6', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:18,902 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:18,902 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:18,903 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:18 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:18 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.040 1697 0.040) gunicorn-registry stdout | 2025-09-26 08:37:18,944 [257] [DEBUG] [app] Starting request: urn:request:7577931a-392f-432e-8a9b-409093017eee (/v2/testorg2/alpine/blobs/uploads/787c3277-bb52-4bea-8046-7800f2e23355) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:18,944 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '787c3277-bb52-4bea-8046-7800f2e23355', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:18,944 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:18,945 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:18,946 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:18,946 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:18,946 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:18,946 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:18,946 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:18,947 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,951 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,954 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,959 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,962 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,966 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,969 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,973 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:18,977 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['787c3277-bb52-4bea-8046-7800f2e23355', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:18,980 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:18,981 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:18,981 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:18,981 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:18,982 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:18,982 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,982 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,982 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,982 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,982 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,982 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,982 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,982 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,982 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:18,982 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:18,982 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:18,982 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:18,982 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,982 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,983 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,983 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:18,983 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,983 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,983 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,983 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,983 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:18,983 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083718Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:18,983 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083718Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 2c2ea6a5089d8daeb6e1e5c3708e1d73117aaf0bf5f54e674d411b40a9d2194a gunicorn-registry stdout | 2025-09-26 08:37:18,983 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 24c88b74b5af730399c8cff17f20caa45865e3b4ee280eead1aef39d85cd569e gunicorn-registry stdout | 2025-09-26 08:37:18,983 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,983 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:18,984 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:18,989 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:18,990 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9f60-2ik955-15zt', 'x-amz-id-2': 'mg0l9f60-2ik955-15zt', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:18 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:18,990 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f468d650bed73ec60008f9352e' gunicorn-registry stdout | 2025-09-26 08:37:18,990 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,990 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:18,990 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,990 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9f60-2ik955-15zt', 'HostId': 'mg0l9f60-2ik955-15zt', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9f60-2ik955-15zt', 'x-amz-id-2': 'mg0l9f60-2ik955-15zt', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:18 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4', 'UploadId': '68d650bed73ec60008f9352e'} gunicorn-registry stdout | 2025-09-26 08:37:18,990 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:18,991 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:18,991 [257] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:18,991 [257] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4', 'UploadId': '68d650bed73ec60008f9352e', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dabefc0>, 'ContentLength': 241} gunicorn-registry stdout | 2025-09-26 08:37:18,991 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,992 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,992 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,992 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,992 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,992 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,992 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,992 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,992 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:18,992 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:18,992 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:18,992 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:18,992 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,992 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,992 [257] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:18,992 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,993 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,993 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4', 'query_string': {'uploadId': '68d650bed73ec60008f9352e', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '241', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': '2lTi1/9zoqWSNmm3dmeYug==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dabefc0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4?uploadId=68d650bed73ec60008f9352e&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4', 'UploadId': '68d650bed73ec60008f9352e', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dabefc0>, 'ContentLength': 241}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:18,993 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,993 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:18,993 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,993 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,993 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:18,993 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4 gunicorn-registry stdout | partNumber=1&uploadId=68d650bed73ec60008f9352e gunicorn-registry stdout | content-length:241 gunicorn-registry stdout | content-md5:2lTi1/9zoqWSNmm3dmeYug== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083718Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:18,993 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083718Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 35d5394c81e7e0226fa9e55f7fdd3108e8eb32e5a4dfe348650513667c286dcc gunicorn-registry stdout | 2025-09-26 08:37:18,993 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | c9da7c61ff40ef2e8f200b1b80792a83b7a1da9e0275c4d6b23743110ef88333 gunicorn-registry stdout | 2025-09-26 08:37:18,993 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:18,993 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:18,993 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:18,994 [257] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:18,994 [257] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:19,052 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4?uploadId=68d650bed73ec60008f9352e&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:19,053 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9f6a-2oezub-1cr5', 'x-amz-id-2': 'mg0l9f6a-2oezub-1cr5', 'ETag': '"da54e2d7ff73a2a5923669b7766798ba"', 'Date': 'Fri, 26 Sep 2025 08:37:19 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:19,053 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:19,053 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,053 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:19,053 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,053 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9f6a-2oezub-1cr5', 'HostId': 'mg0l9f6a-2oezub-1cr5', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9f6a-2oezub-1cr5', 'x-amz-id-2': 'mg0l9f6a-2oezub-1cr5', 'etag': '"da54e2d7ff73a2a5923669b7766798ba"', 'date': 'Fri, 26 Sep 2025 08:37:19 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"da54e2d7ff73a2a5923669b7766798ba"'} gunicorn-registry stdout | 2025-09-26 08:37:19,053 [257] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4', 'UploadId': '68d650bed73ec60008f9352e', 'MultipartUpload': {'Parts': [{'ETag': '"da54e2d7ff73a2a5923669b7766798ba"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:19,054 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,054 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,054 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,054 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,054 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,054 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,054 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,054 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:19,054 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:19,054 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:19,054 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:19,055 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,055 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,055 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,055 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4', 'query_string': {'uploadId': '68d650bed73ec60008f9352e'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"da54e2d7ff73a2a5923669b7766798ba"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4?uploadId=68d650bed73ec60008f9352e', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4', 'UploadId': '68d650bed73ec60008f9352e', 'MultipartUpload': {'Parts': [{'ETag': '"da54e2d7ff73a2a5923669b7766798ba"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:19,055 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,055 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,055 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,055 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,056 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:19,056 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4 gunicorn-registry stdout | uploadId=68d650bed73ec60008f9352e gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:d91945fb91f527f53e0cca48c439c4a7552efae67daa97cd0e95e573e530ee10 gunicorn-registry stdout | x-amz-date:20250926T083719Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | d91945fb91f527f53e0cca48c439c4a7552efae67daa97cd0e95e573e530ee10 gunicorn-registry stdout | 2025-09-26 08:37:19,056 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083719Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4599f2e0dedd0c12d26296b82527aedfd604fcc2ebdece2d880fdb376428df07 gunicorn-registry stdout | 2025-09-26 08:37:19,056 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ac29c1502af7916e36c9369bb8cfd77ae2ba659c76160f8d3d0a373d63f95963 gunicorn-registry stdout | 2025-09-26 08:37:19,056 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,056 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:19,057 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:19,073 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4?uploadId=68d650bed73ec60008f9352e HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:19,073 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9f82-3q41bl-19du', 'x-amz-id-2': 'mg0l9f82-3q41bl-19du', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:19 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:19,073 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4"440f9ff3b78db3b521941ee393b6bc91-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4?uploadId=68d650bed73ec60008f9352e' gunicorn-registry stdout | 2025-09-26 08:37:19,074 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,074 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,074 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:19,074 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,074 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9f82-3q41bl-19du', 'HostId': 'mg0l9f82-3q41bl-19du', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9f82-3q41bl-19du', 'x-amz-id-2': 'mg0l9f82-3q41bl-19du', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:19 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4?uploadId=68d650bed73ec60008f9352e', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4', 'ETag': '"440f9ff3b78db3b521941ee393b6bc91-1"'} gunicorn-registry stdout | 2025-09-26 08:37:19,074 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:19,075 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:19,075 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 241 bytes to blob 787c3277-bb52-4bea-8046-7800f2e23355 took 0.09486865997314453 seconds gunicorn-registry stdout | 2025-09-26 08:37:19,076 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['787c3277-bb52-4bea-8046-7800f2e23355', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,081 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '787c3277-bb52-4bea-8046-7800f2e23355', 241, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwMGM2ZGE4ZTBiZmQwMmU0ZDU3MjU2NDc3OGNkM2QyYmE2MzM2NTkwMDQ0ZDcxIl19fWY3MzM0YjA1MjcwYmE4ODEAAAAAAAAAAAYAAAAAAACReY4oCWxv1c2OuhdXccH+CdG+ZpY176x5i0ElVWeug5RiLg==', 9, '{"chunks": [["uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4", 0, 241]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 18, 897102), None, None, 60]) gunicorn-registry stdout | 2025-09-26 08:37:19,085 [257] [DEBUG] [app] Ending request: urn:request:7577931a-392f-432e-8a9b-409093017eee (/v2/testorg2/alpine/blobs/uploads/787c3277-bb52-4bea-8046-7800f2e23355) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:7577931a-392f-432e-8a9b-409093017eee', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/787c3277-bb52-4bea-8046-7800f2e23355', 'path': '/v2/testorg2/alpine/blobs/uploads/787c3277-bb52-4bea-8046-7800f2e23355', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:19,085 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:19,085 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:19,086 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:19 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/787c3277-bb52-4bea-8046-7800f2e23355 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:19 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/787c3277-bb52-4bea-8046-7800f2e23355 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.144 2017 0.143) gunicorn-registry stdout | 2025-09-26 08:37:19,127 [250] [DEBUG] [app] Starting request: urn:request:f5f488a3-0a57-4911-acd3-12021a909851 (/v2/testorg2/alpine/blobs/uploads/787c3277-bb52-4bea-8046-7800f2e23355) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:19,128 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '787c3277-bb52-4bea-8046-7800f2e23355', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:19,128 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:19,128 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:19,129 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:19,129 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:19,129 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:19,130 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:19,130 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:19,131 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,136 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,140 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,143 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,147 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,150 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,153 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,157 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:19,161 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['787c3277-bb52-4bea-8046-7800f2e23355', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,164 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:19,164 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:19,165 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:19,166 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:19,166 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/cd802582-b6e3-4b33-b948-3ae8092decbb', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:19,166 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,166 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,166 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,166 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,166 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,166 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,166 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,166 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,166 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:19,166 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:19,166 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:19,166 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:19,166 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,167 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,167 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,167 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/cd802582-b6e3-4b33-b948-3ae8092decbb?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cd802582-b6e3-4b33-b948-3ae8092decbb', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cd802582-b6e3-4b33-b948-3ae8092decbb?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/cd802582-b6e3-4b33-b948-3ae8092decbb', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:19,167 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,167 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,167 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,167 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,167 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:19,167 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cd802582-b6e3-4b33-b948-3ae8092decbb gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083719Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:19,168 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083719Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | b92d46e136d1c8ab17321047aaac0b1e1783a5b39720a18dfce85c4ab9a46630 gunicorn-registry stdout | 2025-09-26 08:37:19,168 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | a454e581ed5af53835849078e2651cc39fbd24a98ce84a975a91f394e0fab81d gunicorn-registry stdout | 2025-09-26 08:37:19,168 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,168 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:19,168 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:19,174 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cd802582-b6e3-4b33-b948-3ae8092decbb?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:19,175 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9fb5-5khhme-ioh', 'x-amz-id-2': 'mg0l9fb5-5khhme-ioh', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:19 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:19,175 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/cd802582-b6e3-4b33-b948-3ae8092decbb68d650bfd73ec60008f93534' gunicorn-registry stdout | 2025-09-26 08:37:19,175 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,175 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:19,175 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,175 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9fb5-5khhme-ioh', 'HostId': 'mg0l9fb5-5khhme-ioh', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9fb5-5khhme-ioh', 'x-amz-id-2': 'mg0l9fb5-5khhme-ioh', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:19 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/cd802582-b6e3-4b33-b948-3ae8092decbb', 'UploadId': '68d650bfd73ec60008f93534'} gunicorn-registry stdout | 2025-09-26 08:37:19,175 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:19,176 [250] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/cd802582-b6e3-4b33-b948-3ae8092decbb', 'UploadId': '68d650bfd73ec60008f93534'} gunicorn-registry stdout | 2025-09-26 08:37:19,176 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,176 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,176 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,176 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,176 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,176 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,176 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:19,176 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:19,176 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:19,176 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:19,176 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,177 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,177 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,177 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/cd802582-b6e3-4b33-b948-3ae8092decbb', 'query_string': {'uploadId': '68d650bfd73ec60008f93534'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cd802582-b6e3-4b33-b948-3ae8092decbb', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cd802582-b6e3-4b33-b948-3ae8092decbb?uploadId=68d650bfd73ec60008f93534', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/cd802582-b6e3-4b33-b948-3ae8092decbb', 'UploadId': '68d650bfd73ec60008f93534'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:19,177 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,177 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,177 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,177 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,177 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:19,177 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cd802582-b6e3-4b33-b948-3ae8092decbb gunicorn-registry stdout | uploadId=68d650bfd73ec60008f93534 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083719Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:19,177 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083719Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | cfc08ddd593fe79cb34aa2e0f5a8b115bf1528c8401a9c030dc08f1d96e2dc5e gunicorn-registry stdout | 2025-09-26 08:37:19,177 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | d4e8e78f3f344349313836f336c12d0f4566bea6a8dc19090ca77a5df0325c75 gunicorn-registry stdout | 2025-09-26 08:37:19,177 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,177 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:19,178 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:19,183 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/cd802582-b6e3-4b33-b948-3ae8092decbb?uploadId=68d650bfd73ec60008f93534 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:19,184 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9fbe-5py84s-3ew', 'x-amz-id-2': 'mg0l9fbe-5py84s-3ew', 'Date': 'Fri, 26 Sep 2025 08:37:19 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:19,184 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:19,184 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,184 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:19,184 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,184 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9fbe-5py84s-3ew', 'HostId': 'mg0l9fbe-5py84s-3ew', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9fbe-5py84s-3ew', 'x-amz-id-2': 'mg0l9fbe-5py84s-3ew', 'date': 'Fri, 26 Sep 2025 08:37:19 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:19,184 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 787c3277-bb52-4bea-8046-7800f2e23355 took 0.019438743591308594 seconds gunicorn-registry stdout | 2025-09-26 08:37:19,185 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['787c3277-bb52-4bea-8046-7800f2e23355', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,189 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '787c3277-bb52-4bea-8046-7800f2e23355', 241, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwMGM2ZGE4ZTBiZmQwMmU0ZDU3MjU2NDc3OGNkM2QyYmE2MzM2NTkwMDQ0ZDcxIl19fWY3MzM0YjA1MjcwYmE4ODEAAAAAAAAAAAYAAAAAAACReY4oCWxv1c2OuhdXccH+CdG+ZpY176x5i0ElVWeug5RiLg==', 9, '{"chunks": [["uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4", 0, 241]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 18, 897102), None, None, 60]) gunicorn-registry stdout | 2025-09-26 08:37:19,193 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:19,194 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:19,194 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:19,194 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:19,195 [250] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8'} gunicorn-registry stdout | 2025-09-26 08:37:19,195 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,195 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,195 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,195 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,195 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,195 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,195 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,195 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:19,195 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:19,195 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:19,195 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:19,196 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,196 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,196 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,196 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:19,196 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,196 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,196 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,196 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,196 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:19,196 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083719Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:19,196 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083719Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 839300dd0e53e87ed9a0c3b315f35ade6e30e8a238d7803b644a35db6d6252e4 gunicorn-registry stdout | 2025-09-26 08:37:19,196 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | db7685175c1362a7d8ca5766eb6a48085d1e393cb4247d2cfb58bdbfe4228b99 gunicorn-registry stdout | 2025-09-26 08:37:19,196 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,196 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:19,197 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:19,202 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:19,202 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9fbx-61cicq-1854', 'x-amz-id-2': 'mg0l9fbx-61cicq-1854', 'Content-Type': 'application/xml', 'Content-Length': '339', 'Date': 'Fri, 26 Sep 2025 08:37:19 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:19,202 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:19,202 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,202 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:19,202 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,202 [250] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:19,202 [250] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:19,202 [250] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8 gunicorn-registry stdout | 2025-09-26 08:37:19,203 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:19,204 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:19,204 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:19,204 [250] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:19,204 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,204 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,204 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,204 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,204 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,204 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,204 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,204 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:19,204 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:19,204 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:19,204 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:19,205 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,205 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,205 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,205 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:19,205 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,205 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,205 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,205 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,205 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,205 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:19,205 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083719Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:19,205 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083719Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | e2581f16201176070db347ecd3eda364d31b4817348c6f49d0028280f35c027b gunicorn-registry stdout | 2025-09-26 08:37:19,205 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | eceb6ef4db2405a06f1f57b37e887ab10ffcfb13917ac7e8e0039ef04d12d659 gunicorn-registry stdout | 2025-09-26 08:37:19,205 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,205 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,205 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:19,206 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:19,209 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:19,210 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9fc6-66nr8r-gtn', 'x-amz-id-2': 'mg0l9fc6-66nr8r-gtn', 'ETag': '"440f9ff3b78db3b521941ee393b6bc91-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:19 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:19 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:19,210 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:19,210 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,210 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:19,210 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,210 [250] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:19,210 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:19,211 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:19,211 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:19,212 [250] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'extra_args': {}, 'callbacks': [], 'size': 241} gunicorn-registry stdout | 2025-09-26 08:37:19,212 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,212 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,212 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,212 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,212 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,212 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,212 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,212 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,212 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,212 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,212 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:19,212 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:19,212 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:19,212 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:19,212 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,212 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,212 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,212 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:19,213 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,213 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,213 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,213 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,213 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,213 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:19,213 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/56c6408a-aa51-4d7a-8f51-d25f636a02f4 gunicorn-registry stdout | x-amz-date:20250926T083719Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:19,213 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083719Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 97b155a9f17ebe226175aab992fffb3243fafade9fef47a23e313926606514e8 gunicorn-registry stdout | 2025-09-26 08:37:19,213 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | a6b3513e9629708d702fe0192ab8f8f658ff724ab931acd1a56c64883fac3a8f gunicorn-registry stdout | 2025-09-26 08:37:19,213 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,213 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,213 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:19,213 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:19,214 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:19,237 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:19,237 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9fce-6bf3a2-lal', 'x-amz-id-2': 'mg0l9fce-6bf3a2-lal', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:19 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:19,237 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:19.000Z"440f9ff3b78db3b521941ee393b6bc91-1"' gunicorn-registry stdout | 2025-09-26 08:37:19,238 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,238 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,238 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:19,238 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,238 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:19,238 [250] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 787c3277-bb52-4bea-8046-7800f2e23355 with digest sha256:bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8 took 0.036162376403808594 seconds gunicorn-registry stdout | 2025-09-26 08:37:19,239 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['787c3277-bb52-4bea-8046-7800f2e23355', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,242 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,243 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['4d86c929-7d38-4f15-940e-6cd3340885eb', 241, None, True, True, 'sha256:bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8']) gunicorn-registry stdout | 2025-09-26 08:37:19,245 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [61, 9]) gunicorn-registry stdout | 2025-09-26 08:37:19,246 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,248 [250] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 61, datetime.datetime(2025, 9, 26, 8, 37, 19, 248397), datetime.datetime(2025, 9, 26, 9, 37, 19, 248381)]) gunicorn-registry stdout | 2025-09-26 08:37:19,250 [250] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [60]) gunicorn-registry stdout | 2025-09-26 08:37:19,253 [250] [DEBUG] [app] Ending request: urn:request:f5f488a3-0a57-4911-acd3-12021a909851 (/v2/testorg2/alpine/blobs/uploads/787c3277-bb52-4bea-8046-7800f2e23355) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:f5f488a3-0a57-4911-acd3-12021a909851', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/787c3277-bb52-4bea-8046-7800f2e23355?digest=sha256:bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'path': '/v2/testorg2/alpine/blobs/uploads/787c3277-bb52-4bea-8046-7800f2e23355', 'parameters': {'digest': 'sha256:bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:19,254 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:19,254 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:19,254 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:19 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/787c3277-bb52-4bea-8046-7800f2e23355?digest=sha256%3Abab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:19 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/787c3277-bb52-4bea-8046-7800f2e23355?digest=sha256%3Abab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.128 1853 0.128) gunicorn-registry stdout | 2025-09-26 08:37:19,314 [250] [DEBUG] [app] Starting request: urn:request:2ef038d4-6456-41f8-84d0-f10f727074f7 (/v2/testorg2/alpine/manifests/sha256:12a8620b724859d164848054d3949a02212c5ac72fa80291e2e506c15cfcc4c6) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:19,314 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:12a8620b724859d164848054d3949a02212c5ac72fa80291e2e506c15cfcc4c6', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:19,314 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:19,314 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:19,315 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:19,315 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:19,315 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:19,315 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:19,316 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:19,318 [250] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:19,318 [250] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:19,319 [250] [DEBUG] [data.cache.impl] Found result in cache for key repository_lookup_testorg2_alpine: {'id': 3, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': 0, 'namespace_user': {'stripe_id': None}} gunicorn-registry stdout | 2025-09-26 08:37:19,320 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:12a8620b724859d164848054d3949a02212c5ac72fa80291e2e506c15cfcc4c6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,326 [250] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL ((SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1") UNION ALL (SELECT * FROM (SELECT "t5"."id", "t5"."content_checksum", "t5"."image_size", "t5"."uuid", "t5"."cas_path", "t5"."uncompressed_size" FROM "imagestorage" AS "t5" INNER JOIN "uploadedblob" AS "t6" ON ("t6"."blob_id" = "t5"."id") WHERE (("t6"."repository_id" = %s) AND ("t5"."content_checksum" = %s)) LIMIT %s) AS "q2"))', [3, 'sha256:a7eef7334b05270ba880c6da8e0bfd02e4d572564778cd3d2ba6336590044d71', 1, 3, 'sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 1, 3, 'sha256:bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 1]) gunicorn-registry stdout | 2025-09-26 08:37:19,330 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:12a8620b724859d164848054d3949a02212c5ac72fa80291e2e506c15cfcc4c6', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,334 [250] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [3, 'sha256:12a8620b724859d164848054d3949a02212c5ac72fa80291e2e506c15cfcc4c6', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8",\n "size": 241\n },\n "layers": [\n {\n "mediaType": "application/vnd.in-toto+json",\n "digest": "sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6",\n "size": 80992,\n "annotations": {\n "in-toto.io/predicate-type": "https://spdx.dev/Document"\n }\n },\n {\n "mediaType": "application/vnd.in-toto+json",\n "digest": "sha256:a7eef7334b05270ba880c6da8e0bfd02e4d572564778cd3d2ba6336590044d71",\n "size": 5719,\n "annotations": {\n "in-toto.io/predicate-type": "https://slsa.dev/provenance/v0.2"\n }\n }\n ]\n}', 'application/vnd.oci.image.config.v1+json', 86711, None, True, None, True]) securityworker stdout | 2025-09-26 08:37:19,334 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:37:19,334 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:27.335452+00:00 (in 8.000658 seconds) securityworker stdout | 2025-09-26 08:37:19,334 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:49 GMT)" (scheduled at 2025-09-26 08:37:19.334273+00:00) securityworker stdout | 2025-09-26 08:37:19,335 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:37:19,335 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state gunicorn-registry stdout | 2025-09-26 08:37:19,336 [250] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [3, 24, 59, 3, 24, 60, 3, 24, 61]) securityworker stdout | 2025-09-26 08:37:19,337 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None gunicorn-registry stdout | 2025-09-26 08:37:19,338 [250] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) securityworker stdout | 2025-09-26 08:37:19,339 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:37:19,339 [250] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [4, 1]) gunicorn-registry stdout | 2025-09-26 08:37:19,341 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 59, 24, 1]) gunicorn-registry stdout | 2025-09-26 08:37:19,343 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 60, 24, 1]) gunicorn-registry stdout | 2025-09-26 08:37:19,344 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 61, 24, 1]) gunicorn-registry stdout | 2025-09-26 08:37:19,346 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,347 [250] [INFO] [data.model.quota] updating namespace size for manifest 24 in namespace 4, QuotaOperation.ADD 86952 gunicorn-registry stdout | 2025-09-26 08:37:19,347 [250] [DEBUG] [peewee] ('UPDATE "quotanamespacesize" SET "size_bytes" = ("quotanamespacesize"."size_bytes" + %s) WHERE ("quotanamespacesize"."namespace_user_id" = %s)', [86952, 4]) gunicorn-registry stdout | 2025-09-26 08:37:19,349 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,350 [250] [INFO] [data.model.quota] updating repository size for manifest 24 in repository 3, QuotaOperation.ADD 86952 gunicorn-registry stdout | 2025-09-26 08:37:19,350 [250] [DEBUG] [peewee] ('UPDATE "quotarepositorysize" SET "size_bytes" = ("quotarepositorysize"."size_bytes" + %s) WHERE ("quotarepositorysize"."repository_id" = %s)', [86952, 3]) securityworker stderr | 2025-09-26 08:37:19 [89] [DEBUG] [util.migrate.allocator] Total range: 9-24 securityworker stdout | 2025-09-26 08:37:19,351 [89] [DEBUG] [util.migrate.allocator] Total range: 9-24 securityworker stdout | 2025-09-26 08:37:19,351 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:19,351 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-24 securityworker stdout | 2025-09-26 08:37:19,351 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 20 securityworker stderr | 2025-09-26 08:37:19 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:37:19 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-24 securityworker stderr | 2025-09-26 08:37:19 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 20 securityworker stdout | 2025-09-26 08:37:19,352 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 11, 15]) gunicorn-registry stdout | 2025-09-26 08:37:19,353 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [24, None, 1758879439352, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,355 [250] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-a600de55-e5b9-4fc3-8c0e-5a7a3810afb5', 3, 24, 1758875839352, 1758879439352, False, True, False, 1]) securityworker stderr | 2025-09-26 08:37:19 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 11-15 by worker securityworker stdout | 2025-09-26 08:37:19,357 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 11-15 by worker securityworker stdout | 2025-09-26 08:37:19,357 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 11-15 securityworker stdout | 2025-09-26 08:37:19,357 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 11-15 securityworker stdout | 2025-09-26 08:37:19,357 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:37:19,357 [89] [DEBUG] [util.migrate.allocator] Total range: 9-24 securityworker stderr | 2025-09-26 08:37:19 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 11-15 securityworker stderr | 2025-09-26 08:37:19 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 11-15 securityworker stderr | 2025-09-26 08:37:19 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:37:19 [89] [DEBUG] [util.migrate.allocator] Total range: 9-24 securityworker stderr | 2025-09-26 08:37:19 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:37:19,357 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:37:19,357 [89] [DEBUG] [util.migrate.allocator] Left range 11-15 securityworker stdout | 2025-09-26 08:37:19,357 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 15-24 securityworker stdout | 2025-09-26 08:37:19,357 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 20 securityworker stderr | 2025-09-26 08:37:19 [89] [DEBUG] [util.migrate.allocator] Left range 11-15 securityworker stderr | 2025-09-26 08:37:19 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 15-24 securityworker stderr | 2025-09-26 08:37:19 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 20 gunicorn-registry stdout | 2025-09-26 08:37:19,358 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 1, 0]) securityworker stdout | 2025-09-26 08:37:19,358 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 20, 24]) gunicorn-registry stdout | 2025-09-26 08:37:19,362 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['4d86c929-7d38-4f15-940e-6cd3340885eb']) securityworker stderr | 2025-09-26 08:37:19 [89] [DEBUG] [util.migrate.allocator] Found 4 candidates, processing block start: 20 end: 24 by worker securityworker stdout | 2025-09-26 08:37:19,363 [89] [DEBUG] [util.migrate.allocator] Found 4 candidates, processing block start: 20 end: 24 by worker securityworker stdout | 2025-09-26 08:37:19,363 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [20, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,365 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:19,366 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:19,367 [250] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8'} gunicorn-registry stdout | 2025-09-26 08:37:19,367 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,367 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,367 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,367 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,367 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,367 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,367 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,367 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:19,368 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:19,368 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:19,368 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:19,368 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,368 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,368 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,368 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:19,368 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,368 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,368 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,369 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,369 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:19,369 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083719Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:19,369 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083719Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4edc79cf6b735f0d6f69d69f888a6205f46d083eaeded8e9a9975bb1e1e88b70 securityworker stdout | 2025-09-26 08:37:19,369 [89] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,369 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | bdedac39eed235671928ba59bd27c2c56d3c7af092f57bfb135cc1de82559b1f gunicorn-registry stdout | 2025-09-26 08:37:19,369 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,369 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:19,369 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem securityworker stdout | 2025-09-26 08:37:19,373 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['3be6046c-2727-4d60-afb2-b92fc49b22ae']) securityworker stdout | 2025-09-26 08:37:19,377 [89] [DEBUG] [boto3.resources.factory] Loading s3:Object securityworker stdout | 2025-09-26 08:37:19,379 [89] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7f614e757ec0> securityworker stdout | 2025-09-26 08:37:19,379 [89] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23'} securityworker stdout | 2025-09-26 08:37:19,379 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,379 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,379 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,379 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:19,379 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,379 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:19,379 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:19,380 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:19,380 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:19,380 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:19,380 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:19,380 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,380 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,380 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,380 [89] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} securityworker stdout | 2025-09-26 08:37:19,380 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:19,380 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:19,380 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,380 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,381 [89] [DEBUG] [botocore.auth] Calculating signature using v4 auth. securityworker stdout | 2025-09-26 08:37:19,381 [89] [DEBUG] [botocore.auth] CanonicalRequest: securityworker stdout | GET securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23 securityworker stdout | host:s3.openshift-storage.svc.cluster.local securityworker stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | x-amz-date:20250926T083719Z securityworker stdout | host;x-amz-content-sha256;x-amz-date securityworker stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | 2025-09-26 08:37:19,381 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | AWS4-HMAC-SHA256 securityworker stdout | 20250926T083719Z securityworker stdout | 20250926/us-east-1/s3/aws4_request securityworker stdout | 57a7949cc8f13a3ff6e525eb30932fc99a24d95c5b48050bce2b53cd12b408f6 securityworker stdout | 2025-09-26 08:37:19,381 [89] [DEBUG] [botocore.auth] Signature: securityworker stdout | ecb740c88b3ecc9d15d53a83b3a1f1d2dba00950cfd7e235d11177e044f069fc securityworker stdout | 2025-09-26 08:37:19,381 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,381 [89] [DEBUG] [botocore.endpoint] Sending http request: securityworker stdout | 2025-09-26 08:37:19,381 [89] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem securityworker stdout | 2025-09-26 08:37:19,381 [89] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local securityworker stdout | 2025-09-26 08:37:19,423 [89] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23 HTTP/1.1" 200 241 securityworker stdout | 2025-09-26 08:37:19,423 [89] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9fhs-9iphrl-of3', 'x-amz-id-2': 'mg0l9fhs-9iphrl-of3', 'ETag': '"3d94f697fe7081dd2516ff729b393c6a-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:11 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:19 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} securityworker stdout | 2025-09-26 08:37:19,423 [89] [DEBUG] [botocore.parsers] Response body: securityworker stdout | securityworker stdout | 2025-09-26 08:37:19,423 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,423 [89] [DEBUG] [botocore.retryhandler] No retry needed. securityworker stdout | 2025-09-26 08:37:19,423 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:19,423 [89] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9fhs-9iphrl-of3', 'HostId': 'mg0l9fhs-9iphrl-of3', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9fhs-9iphrl-of3', 'x-amz-id-2': 'mg0l9fhs-9iphrl-of3', 'etag': '"3d94f697fe7081dd2516ff729b393c6a-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:11 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:19 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 11, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"3d94f697fe7081dd2516ff729b393c6a-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } securityworker stdout | 2025-09-26 08:37:19,426 [89] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL ((SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "manifestblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1") UNION ALL (SELECT * FROM (SELECT "t5"."id", "t5"."content_checksum", "t5"."image_size", "t5"."uuid", "t5"."cas_path", "t5"."uncompressed_size" FROM "imagestorage" AS "t5" INNER JOIN "manifestblob" AS "t6" ON ("t6"."blob_id" = "t5"."id") WHERE (("t6"."repository_id" = %s) AND ("t5"."content_checksum" = %s)) LIMIT %s) AS "q2"))', [3, 'sha256:ff5e5806f15b500184a129a78dd91a3ae46db62f79667f312262075b676faae2', 1, 3, 'sha256:5b9b2fb79d66a16d883863a72a071d210961507c0306497e00cc7aa71dcf5ed4', 1, 3, 'sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 1]) securityworker stdout | 2025-09-26 08:37:19,431 [89] [ERROR] [data.registry_model.registry_oci_model] Could not list manifest layers `20` securityworker stdout | Traceback (most recent call last): securityworker stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 666, in list_manifest_layers securityworker stdout | layers = self._list_manifest_layers( securityworker stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ securityworker stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 1263, in _list_manifest_layers securityworker stdout | for layer in layers: securityworker stdout | ^^^^^^ securityworker stdout | File "/quay-registry/image/oci/manifest.py", line 308, in get_layers securityworker stdout | command=image_layer.history.command, securityworker stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ securityworker stdout | AttributeError: 'NoneType' object has no attribute 'command' securityworker stdout | 2025-09-26 08:37:19,432 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,433 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8 HTTP/1.1" 200 241 gunicorn-registry stdout | 2025-09-26 08:37:19,434 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9fgq-8w95el-1d02', 'x-amz-id-2': 'mg0l9fgq-8w95el-1d02', 'ETag': '"440f9ff3b78db3b521941ee393b6bc91-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:19 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:19 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:19,434 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:19,434 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:19,434 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:19,434 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:19,434 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9fgq-8w95el-1d02', 'HostId': 'mg0l9fgq-8w95el-1d02', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9fgq-8w95el-1d02', 'x-amz-id-2': 'mg0l9fgq-8w95el-1d02', 'etag': '"440f9ff3b78db3b521941ee393b6bc91-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:19 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:19 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 19, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"440f9ff3b78db3b521941ee393b6bc91-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } securityworker stdout | 2025-09-26 08:37:19,436 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,437 [250] [DEBUG] [app] Ending request: urn:request:2ef038d4-6456-41f8-84d0-f10f727074f7 (/v2/testorg2/alpine/manifests/sha256:12a8620b724859d164848054d3949a02212c5ac72fa80291e2e506c15cfcc4c6) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:2ef038d4-6456-41f8-84d0-f10f727074f7', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/manifests/sha256:12a8620b724859d164848054d3949a02212c5ac72fa80291e2e506c15cfcc4c6', 'path': '/v2/testorg2/alpine/manifests/sha256:12a8620b724859d164848054d3949a02212c5ac72fa80291e2e506c15cfcc4c6', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'size': 241}, 'layers': [{'mediaType': 'application/vnd.in-toto+json', 'digest': 'sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 'size': 80992, 'annotations': {'in-toto.io/predicate-type': 'https://spdx.dev/Document'}}, {'mediaType': 'application/vnd.in-toto+json', 'digest': 'sha256:a7eef7334b05270ba880c6da8e0bfd02e4d572564778cd3d2ba6336590044d71', 'size': 5719, 'annotations': {'in-toto.io/predicate-type': 'https://slsa.dev/provenance/v0.2'}}]}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:19,437 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:19,437 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:19,437 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:19 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:12a8620b724859d164848054d3949a02212c5ac72fa80291e2e506c15cfcc4c6 HTTP/1.1" 201 2 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:19 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:12a8620b724859d164848054d3949a02212c5ac72fa80291e2e506c15cfcc4c6 HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.125 2661 0.125) securityworker stdout | 2025-09-26 08:37:19,440 [89] [WARNING] [data.secscan_model.secscan_v4_model] Cannot index 4/alpine@sha256:647e9d4b0e5b749e7b0ae8ea3dfd6ef75cff43b09282a4fd16dd0c56963a5edf due to manifest being invalid (manifest has no layers) securityworker stdout | 2025-09-26 08:37:19,441 [89] [DEBUG] [peewee] ('DELETE FROM "manifestsecuritystatus" WHERE (("manifestsecuritystatus"."manifest_id" = %s) AND ("manifestsecuritystatus"."repository_id" = %s))', [20, 3]) securityworker stdout | 2025-09-26 08:37:19,443 [89] [DEBUG] [peewee] ('INSERT INTO "manifestsecuritystatus" ("manifest_id", "repository_id", "index_status", "error_json", "last_indexed", "indexer_hash", "indexer_version", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifestsecuritystatus"."id"', [20, 3, -2, '{}', datetime.datetime(2025, 9, 26, 8, 37, 19, 443173), 'none', 4, '{}']) securityworker stdout | 2025-09-26 08:37:19,447 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [21, 1, 0]) securityworker stdout | 2025-09-26 08:37:19,452 [89] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 1, 0]) securityworker stdout | 2025-09-26 08:37:19,455 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['25c5da1f-e539-4fdd-a72a-11aeb689b3b1']) securityworker stdout | 2025-09-26 08:37:19,458 [89] [DEBUG] [boto3.resources.factory] Loading s3:Object securityworker stdout | 2025-09-26 08:37:19,459 [89] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7f614e757ec0> securityworker stdout | 2025-09-26 08:37:19,459 [89] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b'} securityworker stdout | 2025-09-26 08:37:19,459 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,459 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,459 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,460 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:19,460 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,460 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:19,460 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:19,460 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:19,460 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:19,460 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:19,460 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:19,460 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,460 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,460 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,460 [89] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} securityworker stdout | 2025-09-26 08:37:19,460 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:19,460 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:19,460 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,460 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,460 [89] [DEBUG] [botocore.auth] Calculating signature using v4 auth. securityworker stdout | 2025-09-26 08:37:19,460 [89] [DEBUG] [botocore.auth] CanonicalRequest: securityworker stdout | GET securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b securityworker stdout | host:s3.openshift-storage.svc.cluster.local securityworker stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | x-amz-date:20250926T083719Z securityworker stdout | host;x-amz-content-sha256;x-amz-date securityworker stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | 2025-09-26 08:37:19,461 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | AWS4-HMAC-SHA256 securityworker stdout | 20250926T083719Z securityworker stdout | 20250926/us-east-1/s3/aws4_request securityworker stdout | bc4948c6a9778b48b68348b5719d62753ef01c3d512c25cb6f39fbcd8361a527 securityworker stdout | 2025-09-26 08:37:19,461 [89] [DEBUG] [botocore.auth] Signature: securityworker stdout | 8bd71c56f80bf92399d39413121b04a33308b05d6d5b1a3e0651541951963db9 securityworker stdout | 2025-09-26 08:37:19,462 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,462 [89] [DEBUG] [botocore.endpoint] Sending http request: securityworker stdout | 2025-09-26 08:37:19,462 [89] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem securityworker stdout | 2025-09-26 08:37:19,476 [89] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b HTTP/1.1" 200 593 securityworker stdout | 2025-09-26 08:37:19,476 [89] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9fjb-af6odl-olv', 'x-amz-id-2': 'mg0l9fjb-af6odl-olv', 'ETag': '"3e5d99cc283698e68dea92030b724e28-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:13 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '593', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:19 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} securityworker stdout | 2025-09-26 08:37:19,476 [89] [DEBUG] [botocore.parsers] Response body: securityworker stdout | securityworker stdout | 2025-09-26 08:37:19,477 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,477 [89] [DEBUG] [botocore.retryhandler] No retry needed. securityworker stdout | 2025-09-26 08:37:19,477 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:19,477 [89] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9fjb-af6odl-olv', 'HostId': 'mg0l9fjb-af6odl-olv', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9fjb-af6odl-olv', 'x-amz-id-2': 'mg0l9fjb-af6odl-olv', 'etag': '"3e5d99cc283698e68dea92030b724e28-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:13 GMT', 'content-type': 'application/octet-stream', 'content-length': '593', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:19 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 13, tzinfo=tzutc()), 'ContentLength': 593, 'ETag': '"3e5d99cc283698e68dea92030b724e28-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } securityworker stdout | 2025-09-26 08:37:19,479 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4', 1, 0]) securityworker stdout | 2025-09-26 08:37:19,483 [89] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "manifestblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [3, 'sha256:06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595', 1, 3, 'sha256:dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 1]) securityworker stdout | 2025-09-26 08:37:19,488 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['5f9dc7db-ab9e-4bb9-9880-1e86277b4890']) securityworker stdout | 2025-09-26 08:37:19,491 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['6d9afe7c-4cd4-46e0-8000-0876c9384bb4']) securityworker stdout | 2025-09-26 08:37:19,495 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."manifest_id", "t1"."repository_id", "t1"."index_status", "t1"."error_json", "t1"."last_indexed", "t1"."indexer_hash", "t1"."indexer_version", "t1"."metadata_json" FROM "manifestsecuritystatus" AS "t1" WHERE ("t1"."manifest_id" = %s)', [21]) securityworker stdout | 2025-09-26 08:37:19,498 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) securityworker stdout | 2025-09-26 08:37:19,502 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) securityworker stdout | 2025-09-26 08:37:19,506 [89] [DEBUG] [data.secscan_model.secscan_v4_model] Indexing manifest [21] 4/alpine@sha256:17389a4a082a13cc17be63544e87b4a4de24f2e0dd1c8a6d5d31b16abcde9128 securityworker stdout | 2025-09-26 08:37:19,506 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,506 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,506 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,506 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:19,506 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,506 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:19,506 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:19,506 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:19,506 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:19,506 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:19,506 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:19,506 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:19,506 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,506 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:37:19,506 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:37:19,507 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876439 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/06/06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595 securityworker stdout | 2025-09-26 08:37:19,514 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ETTVMQ0pwWVhRaU9qRTNOVGc0TnpVNE16a3NJbVY0Y0NJNk1UYzFPRGczTmpRek9Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4d05pOHdObUpoWWpWbE9EUTNZelUyTnpSa05tVmpNalppTXpReVkyTXhNV1EzWVRBMU1XRTJZVEl6TVdVMVpHSTRZVGsxTldRMU4ySmpPV1kwWVdJMU5UazFQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFFTTJKaVZtdFVXbmhzVVVaWWFIbFlVbkZhTjBSc1Z6WlhZbEVsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRNNUlpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuV3pDU3g0dGFfTi1aZGJKV3J4NDZidTR3RGlnTVY4Z3A0Vk9hRkRJbmN3bGZYQjNna0xCWXByM1hodGpfNVdvY0FYYzlESGh0Z0RKaUJUbEFNZmkxLUR0dVZldFo3ODc4eFRNRFlWYVV1ZG9CMnUzakpWS0R1X0s1RjFtclVwWTVGU3psVVNsZjAtT2h2UWNhWmVVaDUwSmp5MEJmZVV4Z005NU9zT3daUDJCTXBaa1lxa1B4bTBiSDlieE5KanFwQWRPRlF2NDRHSnlBdzAzUVBCRkxfSXlfTnczTDVtaVdkQUVZcmRGYy1FYnpCUlhiZkdYa1pMbERfRXlZOWNoTmJlZnEzcVJyRWxLQnNWUFc4SWVQLW9BWWdmWHNmdVVjRVFpa0dKQUFoMEh2V25wMmlIU1FSNG5oY2NNdTAyN2VmSHpfT2VOdWlPY3RabFBlSDAzM3RB/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/06/06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=D3bbVkTZxlQFXhyXRqZ7DlW6WbQ%3D&Expires=1758876439 securityworker stdout | 2025-09-26 08:37:19,514 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,514 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,514 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,514 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:19,514 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,514 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:19,514 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:19,515 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:19,515 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:19,515 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:19,515 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:19,515 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:19,515 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,515 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:37:19,515 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:37:19,515 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876439 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/06/06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595 securityworker stdout | 2025-09-26 08:37:19,521 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ETTVMQ0pwWVhRaU9qRTNOVGc0TnpVNE16a3NJbVY0Y0NJNk1UYzFPRGczTmpRek9Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4d05pOHdObUpoWWpWbE9EUTNZelUyTnpSa05tVmpNalppTXpReVkyTXhNV1EzWVRBMU1XRTJZVEl6TVdVMVpHSTRZVGsxTldRMU4ySmpPV1kwWVdJMU5UazFQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFFTTJKaVZtdFVXbmhzVVVaWWFIbFlVbkZhTjBSc1Z6WlhZbEVsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRNNUlpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuV3pDU3g0dGFfTi1aZGJKV3J4NDZidTR3RGlnTVY4Z3A0Vk9hRkRJbmN3bGZYQjNna0xCWXByM1hodGpfNVdvY0FYYzlESGh0Z0RKaUJUbEFNZmkxLUR0dVZldFo3ODc4eFRNRFlWYVV1ZG9CMnUzakpWS0R1X0s1RjFtclVwWTVGU3psVVNsZjAtT2h2UWNhWmVVaDUwSmp5MEJmZVV4Z005NU9zT3daUDJCTXBaa1lxa1B4bTBiSDlieE5KanFwQWRPRlF2NDRHSnlBdzAzUVBCRkxfSXlfTnczTDVtaVdkQUVZcmRGYy1FYnpCUlhiZkdYa1pMbERfRXlZOWNoTmJlZnEzcVJyRWxLQnNWUFc4SWVQLW9BWWdmWHNmdVVjRVFpa0dKQUFoMEh2V25wMmlIU1FSNG5oY2NNdTAyN2VmSHpfT2VOdWlPY3RabFBlSDAzM3RB/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/06/06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=D3bbVkTZxlQFXhyXRqZ7DlW6WbQ%3D&Expires=1758876439 securityworker stdout | 2025-09-26 08:37:19,522 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,522 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,522 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,522 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:19,522 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,522 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:19,522 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:19,522 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:19,522 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:19,522 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:19,522 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:19,522 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:19,522 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,522 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:37:19,522 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:37:19,522 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876439 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 securityworker stdout | 2025-09-26 08:37:19,529 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ETTVMQ0pwWVhRaU9qRTNOVGc0TnpVNE16a3NJbVY0Y0NJNk1UYzFPRGczTmpRek9Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE15OWhNMlZrT1RWallXVmlNREptWm1VMk9HTmtaRGxtWkRnME5EQTJOamd3WVdVNU0yUTJNek5qWWpFMk5ESXlaREF3WlRoaE4yTXlNamsxTldJME5tUTBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFGVTAxclVHTllXWE5MU2s5eEpUSkdjbEJLZWpVM2R6WkZhbXRzTUNVelJDWkZlSEJwY21WelBURTNOVGc0TnpZME16a2lMQ0pvYjNOMElqb2ljek11YjNCbGJuTm9hV1owTFhOMGIzSmhaMlV1YzNaakxtTnNkWE4wWlhJdWJHOWpZV3c2TkRReklpd2ljMk5vWlcxbElqb2lhSFIwY0hNaWZWMHNJbU52Ym5SbGVIUWlPbnQ5ZlEuSmV5bEZBRWhfVTE0a3VGNWdjUjREUGk0eXdPR1NRSjZwdVhrcldwVHYxUjR0OUZQWjZMRFJEOXVJbkF3Q3FETFlDLUZ1ZXZ1QTE1MHNUZlJ4X0ROTEJISUFNR0pHREY3MDlJdGpIbTZpalk5QzM3ZGhjV1MzdjMxYXhCLVNMT09KT0RYUTlMNm9JZFJUTld1NjNCUTJRWWxNVDd5Ymp5NmRZZFlQOThkM0NBd2YxRkVRUTVJOFd3dXkxUzJyMzE1UkNVT1ZVaktVWjBEX3pVZ29nY2FzV0R5ekZFRm5zdXlQOFhxN0FoYWRFRjlZQXdUcWlMVTJNQ2tUYktwdjFkVi11bE1Ub3JwTjdyQldZQ2xyS2diaFl0eFRGQlBZWXpHTkpiYmVTTlN3X182bThKSHNkT2lDMnhsMDU5RXFCUlgtVmZ1YUs4LTllMzdvcjdoXzg3N1ZR/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=ESMkPcXYsKJOq%2FrPJz57w6Ejkl0%3D&Expires=1758876439 securityworker stdout | 2025-09-26 08:37:19,529 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,529 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,529 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,529 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:19,529 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,529 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:19,529 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:19,529 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:19,529 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:19,529 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:19,529 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:19,530 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:19,530 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:19,530 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:37:19,530 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:37:19,530 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876439 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 gunicorn-registry stdout | 2025-09-26 08:37:19,533 [256] [DEBUG] [app] Starting request: urn:request:0d32c7b0-e625-4de1-b03e-838a5ac72c52 (/v2/testorg2/alpine/blobs/sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:19,533 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:19,533 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:19,533 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:19,535 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:19,535 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:19,535 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:19,535 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:19,535 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:19,536 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) securityworker stdout | 2025-09-26 08:37:19,536 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9ETTVMQ0pwWVhRaU9qRTNOVGc0TnpVNE16a3NJbVY0Y0NJNk1UYzFPRGczTmpRek9Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE15OWhNMlZrT1RWallXVmlNREptWm1VMk9HTmtaRGxtWkRnME5EQTJOamd3WVdVNU0yUTJNek5qWWpFMk5ESXlaREF3WlRoaE4yTXlNamsxTldJME5tUTBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFGVTAxclVHTllXWE5MU2s5eEpUSkdjbEJLZWpVM2R6WkZhbXRzTUNVelJDWkZlSEJwY21WelBURTNOVGc0TnpZME16a2lMQ0pvYjNOMElqb2ljek11YjNCbGJuTm9hV1owTFhOMGIzSmhaMlV1YzNaakxtTnNkWE4wWlhJdWJHOWpZV3c2TkRReklpd2ljMk5vWlcxbElqb2lhSFIwY0hNaWZWMHNJbU52Ym5SbGVIUWlPbnQ5ZlEuSmV5bEZBRWhfVTE0a3VGNWdjUjREUGk0eXdPR1NRSjZwdVhrcldwVHYxUjR0OUZQWjZMRFJEOXVJbkF3Q3FETFlDLUZ1ZXZ1QTE1MHNUZlJ4X0ROTEJISUFNR0pHREY3MDlJdGpIbTZpalk5QzM3ZGhjV1MzdjMxYXhCLVNMT09KT0RYUTlMNm9JZFJUTld1NjNCUTJRWWxNVDd5Ymp5NmRZZFlQOThkM0NBd2YxRkVRUTVJOFd3dXkxUzJyMzE1UkNVT1ZVaktVWjBEX3pVZ29nY2FzV0R5ekZFRm5zdXlQOFhxN0FoYWRFRjlZQXdUcWlMVTJNQ2tUYktwdjFkVi11bE1Ub3JwTjdyQldZQ2xyS2diaFl0eFRGQlBZWXpHTkpiYmVTTlN3X182bThKSHNkT2lDMnhsMDU5RXFCUlgtVmZ1YUs4LTllMzdvcjdoXzg3N1ZR/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=ESMkPcXYsKJOq%2FrPJz57w6Ejkl0%3D&Expires=1758876439 securityworker stdout | 2025-09-26 08:37:19,537 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:37:19,537 [89] [DEBUG] [util.secscan.v4.api] POSTing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_report gunicorn-registry stdout | 2025-09-26 08:37:19,540 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,544 [256] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:19,544 [256] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606_2 gunicorn-registry stdout | 2025-09-26 08:37:19,544 [256] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:19,545 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,550 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,553 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,558 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,562 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,566 [256] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606_2: None gunicorn-registry stdout | 2025-09-26 08:37:19,566 [256] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606_2: None gunicorn-registry stdout | 2025-09-26 08:37:19,566 [256] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:19,567 [256] [DEBUG] [app] Ending request: urn:request:0d32c7b0-e625-4de1-b03e-838a5ac72c52 (/v2/testorg2/alpine/blobs/sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:0d32c7b0-e625-4de1-b03e-838a5ac72c52', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606', 'path': '/v2/testorg2/alpine/blobs/sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:19,567 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:19,567 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:19,567 [256] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:19 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:19 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.035 1718 0.035) gunicorn-registry stdout | 2025-09-26 08:37:19,765 [257] [DEBUG] [app] Starting request: urn:request:ab9cbf8c-0256-4c3a-9f47-40f32b8476ba (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:19,766 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:19,766 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:19,766 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:19,767 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:19,767 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:19,767 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:19,767 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:19,767 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:19,768 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,773 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,777 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,782 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,787 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,791 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,795 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:19,799 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:19,803 [257] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, '1b0fcd32-b19f-4012-a4d9-77e82ecff97d', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 19, 803227)]) gunicorn-registry stdout | 2025-09-26 08:37:19,808 [257] [DEBUG] [app] Ending request: urn:request:ab9cbf8c-0256-4c3a-9f47-40f32b8476ba (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:ab9cbf8c-0256-4c3a-9f47-40f32b8476ba', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:19,809 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:19,809 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:19,809 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:19 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:19 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.045 1697 0.045) logrotateworker stdout | 2025-09-26 08:37:20,307 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} gunicorn-registry stdout | 2025-09-26 08:37:20,749 [250] [DEBUG] [app] Starting request: urn:request:ea9ad2ba-1574-4ba0-a41d-887e8e7d1d4e (/v2/testorg2/alpine/blobs/uploads/1b0fcd32-b19f-4012-a4d9-77e82ecff97d) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:20,750 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '1b0fcd32-b19f-4012-a4d9-77e82ecff97d', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:20,750 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:20,750 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:20,751 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:20,751 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:20,751 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:20,751 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:20,751 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:20,752 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:20,756 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:20,759 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:20,763 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:20,767 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:20,771 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:20,774 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:20,778 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:20,782 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['1b0fcd32-b19f-4012-a4d9-77e82ecff97d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:20,785 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:20,785 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:20,785 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:20,786 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:20,786 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2443a184-9591-491c-985b-a2f270e3355e', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:20,786 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,786 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,786 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,786 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,786 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,786 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,786 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,786 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,787 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:20,787 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:20,787 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:20,787 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:20,787 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,787 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,787 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,787 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/2443a184-9591-491c-985b-a2f270e3355e?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2443a184-9591-491c-985b-a2f270e3355e', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2443a184-9591-491c-985b-a2f270e3355e?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2443a184-9591-491c-985b-a2f270e3355e', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:20,787 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,787 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,787 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,787 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,787 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:20,788 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2443a184-9591-491c-985b-a2f270e3355e gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083720Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:20,788 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083720Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | a7a28558b003d5d4b31772aca5c1cc67990e3da72d4ae699cde0104a93213f02 gunicorn-registry stdout | 2025-09-26 08:37:20,788 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 4dd05c0a274107c0e286f739f05c67e2299213f7da13e32bd03774c98f396648 gunicorn-registry stdout | 2025-09-26 08:37:20,788 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,788 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:20,788 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:20,794 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2443a184-9591-491c-985b-a2f270e3355e?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:20,794 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9gk6-fu1u9l-kut', 'x-amz-id-2': 'mg0l9gk6-fu1u9l-kut', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:20 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:20,794 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/2443a184-9591-491c-985b-a2f270e3355e68d650c0d73ec60008f9353d' gunicorn-registry stdout | 2025-09-26 08:37:20,795 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,795 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:20,795 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,795 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9gk6-fu1u9l-kut', 'HostId': 'mg0l9gk6-fu1u9l-kut', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9gk6-fu1u9l-kut', 'x-amz-id-2': 'mg0l9gk6-fu1u9l-kut', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:20 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2443a184-9591-491c-985b-a2f270e3355e', 'UploadId': '68d650c0d73ec60008f9353d'} gunicorn-registry stdout | 2025-09-26 08:37:20,795 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:20,796 [250] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2443a184-9591-491c-985b-a2f270e3355e', 'UploadId': '68d650c0d73ec60008f9353d'} gunicorn-registry stdout | 2025-09-26 08:37:20,796 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,796 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,797 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,797 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,797 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,797 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,797 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:20,797 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:20,797 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:20,797 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:20,797 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,797 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,797 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,797 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/2443a184-9591-491c-985b-a2f270e3355e', 'query_string': {'uploadId': '68d650c0d73ec60008f9353d'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2443a184-9591-491c-985b-a2f270e3355e', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2443a184-9591-491c-985b-a2f270e3355e?uploadId=68d650c0d73ec60008f9353d', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2443a184-9591-491c-985b-a2f270e3355e', 'UploadId': '68d650c0d73ec60008f9353d'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:20,797 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,797 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,797 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,797 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,798 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:20,798 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2443a184-9591-491c-985b-a2f270e3355e gunicorn-registry stdout | uploadId=68d650c0d73ec60008f9353d gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083720Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:20,798 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083720Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 98697667a2c0f384dbe81166931637f3b71c2de370a87c1d015f3b41a8a69470 gunicorn-registry stdout | 2025-09-26 08:37:20,798 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | e6aac9c445d8c46ab372650c46a1b2de4cbcd395f0518fc41b98cd17250859a8 gunicorn-registry stdout | 2025-09-26 08:37:20,798 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,798 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:20,798 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:20,804 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2443a184-9591-491c-985b-a2f270e3355e?uploadId=68d650c0d73ec60008f9353d HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:20,805 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9gkf-fzl442-nj2', 'x-amz-id-2': 'mg0l9gkf-fzl442-nj2', 'Date': 'Fri, 26 Sep 2025 08:37:20 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:20,805 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:20,805 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,805 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:20,805 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,805 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9gkf-fzl442-nj2', 'HostId': 'mg0l9gkf-fzl442-nj2', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9gkf-fzl442-nj2', 'x-amz-id-2': 'mg0l9gkf-fzl442-nj2', 'date': 'Fri, 26 Sep 2025 08:37:20 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:20,805 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 1b0fcd32-b19f-4012-a4d9-77e82ecff97d took 0.020468950271606445 seconds gunicorn-registry stdout | 2025-09-26 08:37:20,806 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['1b0fcd32-b19f-4012-a4d9-77e82ecff97d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:20,810 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '1b0fcd32-b19f-4012-a4d9-77e82ecff97d', 4130750, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwt2lahf89/sUs4G3qOB9/ovz+q8D/7Vp1ogp/JPHCtx7/Y+fhj9LV+U8VVVRRRW9L/y8AAP//rbbHrQAghgBItD4AAAAAAAAAADz4AQAAAACO26zk8POnnIaCwIPb8pJeO9lfCvvEJc8INM28UTpLKpRiLg==', 9, '{"chunks": [["uploads/dd249907-cac2-402b-908c-a4f9db1b44df", 0, 4130750]]}', 2, 8790016, datetime.datetime(2025, 9, 26, 8, 37, 19, 803227), None, None, 61]) gunicorn-registry stdout | 2025-09-26 08:37:20,814 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:20,815 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:20,815 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:20,815 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:20,816 [250] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606'} gunicorn-registry stdout | 2025-09-26 08:37:20,816 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,816 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,816 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,816 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,816 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,816 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,816 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,816 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:20,816 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:20,816 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:20,816 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:20,816 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,816 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,816 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,817 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:20,817 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,817 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,817 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,817 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,817 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:20,817 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083720Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:20,817 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083720Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | fdd5eac6bb9236b66b3cf00c8630733d2b27c50ab41271ee14112592d8301c2b gunicorn-registry stdout | 2025-09-26 08:37:20,817 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 0037d8ac939c987e7599554b94bcbd4d6323efee902638b9c05ea5ec5948bc26 gunicorn-registry stdout | 2025-09-26 08:37:20,817 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,817 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:20,818 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:20,822 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:20,822 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9gkz-gb6ad9-trp', 'x-amz-id-2': 'mg0l9gkz-gb6ad9-trp', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:20 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:20,822 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:20,822 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,823 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:20,823 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,823 [250] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:20,823 [250] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:20,823 [250] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606 gunicorn-registry stdout | 2025-09-26 08:37:20,823 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:20,823 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:20,823 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:20,823 [250] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:20,824 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,824 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,824 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,824 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,824 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,824 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,824 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,824 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:20,824 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:20,824 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:20,824 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:20,824 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,824 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,824 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,824 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/dd249907-cac2-402b-908c-a4f9db1b44df', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/dd249907-cac2-402b-908c-a4f9db1b44df', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/dd249907-cac2-402b-908c-a4f9db1b44df', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/dd249907-cac2-402b-908c-a4f9db1b44df'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:20,824 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,824 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,824 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,824 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,825 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,825 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:20,825 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/dd249907-cac2-402b-908c-a4f9db1b44df gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083720Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:20,825 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083720Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 08f456e7f12cfd273547dc697d1c1f4aafaf567afb7e475e1c371886ecd4909a gunicorn-registry stdout | 2025-09-26 08:37:20,825 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 3aa1eaec36d6df9a6824f104d7c377a76ab6152020b144d976b61cc7050a0348 gunicorn-registry stdout | 2025-09-26 08:37:20,825 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,825 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,825 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:20,825 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:20,829 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/dd249907-cac2-402b-908c-a4f9db1b44df HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:20,829 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9gl6-gfr62q-19r', 'x-amz-id-2': 'mg0l9gl6-gfr62q-19r', 'ETag': '"1002d173f1ac21da3076ea46123e1885-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:20 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '4130750', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:20 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:20,829 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:20,830 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,830 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:20,830 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,830 [250] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:20,830 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:20,830 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:20,830 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:20,830 [250] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/dd249907-cac2-402b-908c-a4f9db1b44df'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606', 'extra_args': {}, 'callbacks': [], 'size': 4130750} gunicorn-registry stdout | 2025-09-26 08:37:20,830 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/dd249907-cac2-402b-908c-a4f9db1b44df', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/dd249907-cac2-402b-908c-a4f9db1b44df', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,831 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,832 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:20,832 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/dd249907-cac2-402b-908c-a4f9db1b44df gunicorn-registry stdout | x-amz-date:20250926T083720Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:20,832 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083720Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 583a4c314cd85e967ec7be59afde5a8c06417a05e32ed3e1f17a948e9cdeb248 gunicorn-registry stdout | 2025-09-26 08:37:20,832 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6bc6fa1b40d16cb78cbe1b8b7349366ea52fec20731a503cacd07e4a1ecb5e59 gunicorn-registry stdout | 2025-09-26 08:37:20,832 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,832 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,832 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:20,832 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:20,832 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:20,856 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:20,857 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9gld-cxh5-ax9', 'x-amz-id-2': 'mg0l9gld-cxh5-ax9', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:20 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:20,857 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:20.000Z"1002d173f1ac21da3076ea46123e1885-1"' gunicorn-registry stdout | 2025-09-26 08:37:20,857 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,857 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:20,857 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:20,857 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:20,857 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:20,859 [250] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 1b0fcd32-b19f-4012-a4d9-77e82ecff97d with digest sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606 took 0.03607749938964844 seconds gunicorn-registry stdout | 2025-09-26 08:37:20,859 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['1b0fcd32-b19f-4012-a4d9-77e82ecff97d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:20,862 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:20,864 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['63506cb9-2833-42d6-9ba6-7974d28ab60e', 4130750, 8790016, True, True, 'sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606']) gunicorn-registry stdout | 2025-09-26 08:37:20,866 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [62, 9]) gunicorn-registry stdout | 2025-09-26 08:37:20,868 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:20,870 [250] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 62, datetime.datetime(2025, 9, 26, 8, 37, 20, 870133), datetime.datetime(2025, 9, 26, 9, 37, 20, 870116)]) gunicorn-registry stdout | 2025-09-26 08:37:20,872 [250] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [61]) gunicorn-registry stdout | 2025-09-26 08:37:20,875 [250] [DEBUG] [app] Ending request: urn:request:ea9ad2ba-1574-4ba0-a41d-887e8e7d1d4e (/v2/testorg2/alpine/blobs/uploads/1b0fcd32-b19f-4012-a4d9-77e82ecff97d) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:ea9ad2ba-1574-4ba0-a41d-887e8e7d1d4e', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/1b0fcd32-b19f-4012-a4d9-77e82ecff97d?digest=sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606', 'path': '/v2/testorg2/alpine/blobs/uploads/1b0fcd32-b19f-4012-a4d9-77e82ecff97d', 'parameters': {'digest': 'sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:20,875 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:20,875 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:20,876 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:20 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/1b0fcd32-b19f-4012-a4d9-77e82ecff97d?digest=sha256%3A6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:20 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/1b0fcd32-b19f-4012-a4d9-77e82ecff97d?digest=sha256%3A6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.128 1853 0.128) gunicorn-registry stdout | 2025-09-26 08:37:21,103 [256] [DEBUG] [app] Starting request: urn:request:0508e8e0-c134-4926-b217-21b904773c27 (/v2/testorg2/alpine/blobs/uploads/acd1fb55-fada-41e7-8304-82258617f3e7) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:21,103 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'acd1fb55-fada-41e7-8304-82258617f3e7', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:21,103 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:21,103 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:21,104 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:21,104 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:21,104 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:21,104 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:21,104 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:21,105 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,109 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,112 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,116 [256] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,121 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,124 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,127 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,131 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:21,134 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['acd1fb55-fada-41e7-8304-82258617f3e7', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,138 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:21,138 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:21,138 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:21,141 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:21,141 [256] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:21,141 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,141 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,141 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,141 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,141 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,142 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,142 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,142 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,142 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:21,142 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:21,142 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:21,142 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:21,142 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,142 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,142 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,142 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:21,142 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,142 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,142 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,142 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,143 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:21,143 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083721Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:21,143 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083721Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | d12af32cc9a52f228dcc26e1cb1a20ab7929428c80717a1e5050d830259a6872 gunicorn-registry stdout | 2025-09-26 08:37:21,143 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6920afb534684dcbb3f5825f3f3717a6c24420ec35d6d6023396f94af610ce50 gunicorn-registry stdout | 2025-09-26 08:37:21,143 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,143 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:21,143 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:21,144 [256] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:37:21,176 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:21,176 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9gur-5ltih2-11ce', 'x-amz-id-2': 'mg0l9gur-5ltih2-11ce', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:21 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:21,176 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc868d650c1d73ec60008f93540' gunicorn-registry stdout | 2025-09-26 08:37:21,176 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,176 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:21,176 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,176 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9gur-5ltih2-11ce', 'HostId': 'mg0l9gur-5ltih2-11ce', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9gur-5ltih2-11ce', 'x-amz-id-2': 'mg0l9gur-5ltih2-11ce', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:21 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8', 'UploadId': '68d650c1d73ec60008f93540'} gunicorn-registry stdout | 2025-09-26 08:37:21,176 [256] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:21,177 [256] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:21,177 [256] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:21,178 [256] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8', 'UploadId': '68d650c1d73ec60008f93540', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc14f40>, 'ContentLength': 597} gunicorn-registry stdout | 2025-09-26 08:37:21,178 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,178 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,178 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,178 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,178 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,178 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,178 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,178 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,178 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:21,178 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:21,178 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:21,178 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:21,178 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,179 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,179 [256] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:21,179 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,179 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,179 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8', 'query_string': {'uploadId': '68d650c1d73ec60008f93540', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '597', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'lXwO60N4+PowAKDSmYbr1w==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc14f40>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8?uploadId=68d650c1d73ec60008f93540&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8', 'UploadId': '68d650c1d73ec60008f93540', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc14f40>, 'ContentLength': 597}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:21,179 [256] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,179 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,179 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,179 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,179 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:21,179 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8 gunicorn-registry stdout | partNumber=1&uploadId=68d650c1d73ec60008f93540 gunicorn-registry stdout | content-length:597 gunicorn-registry stdout | content-md5:lXwO60N4+PowAKDSmYbr1w== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083721Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:21,179 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083721Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 99cd77ed96052c0b39b9d938722c4f5bdf5f6e4818cd4d14d48824a3521dcb9f gunicorn-registry stdout | 2025-09-26 08:37:21,179 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 93f52b3efb12aa10f5c45b9280a39b39332709a830aabda9c4b1a8cd8b8db73e gunicorn-registry stdout | 2025-09-26 08:37:21,180 [256] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,180 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:21,180 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:21,181 [256] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:21,181 [256] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:21,257 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8?uploadId=68d650c1d73ec60008f93540&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:21,257 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9gv1-5rgcq5-5y1', 'x-amz-id-2': 'mg0l9gv1-5rgcq5-5y1', 'ETag': '"957c0eeb4378f8fa3000a0d29986ebd7"', 'Date': 'Fri, 26 Sep 2025 08:37:21 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:21,257 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:21,257 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,257 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:21,258 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,258 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9gv1-5rgcq5-5y1', 'HostId': 'mg0l9gv1-5rgcq5-5y1', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9gv1-5rgcq5-5y1', 'x-amz-id-2': 'mg0l9gv1-5rgcq5-5y1', 'etag': '"957c0eeb4378f8fa3000a0d29986ebd7"', 'date': 'Fri, 26 Sep 2025 08:37:21 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"957c0eeb4378f8fa3000a0d29986ebd7"'} gunicorn-registry stdout | 2025-09-26 08:37:21,258 [256] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8', 'UploadId': '68d650c1d73ec60008f93540', 'MultipartUpload': {'Parts': [{'ETag': '"957c0eeb4378f8fa3000a0d29986ebd7"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:21,258 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,258 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,258 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,258 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,258 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,258 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,258 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,258 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:21,259 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:21,259 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:21,259 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:21,260 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,260 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,260 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,260 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8', 'query_string': {'uploadId': '68d650c1d73ec60008f93540'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"957c0eeb4378f8fa3000a0d29986ebd7"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8?uploadId=68d650c1d73ec60008f93540', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8', 'UploadId': '68d650c1d73ec60008f93540', 'MultipartUpload': {'Parts': [{'ETag': '"957c0eeb4378f8fa3000a0d29986ebd7"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:21,260 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,260 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,260 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,261 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,261 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:21,261 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8 gunicorn-registry stdout | uploadId=68d650c1d73ec60008f93540 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:2bae40fdb1e0248d087ecc7828c7ea959c0f57c3db832c65af67aa225cfd67b5 gunicorn-registry stdout | x-amz-date:20250926T083721Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 2bae40fdb1e0248d087ecc7828c7ea959c0f57c3db832c65af67aa225cfd67b5 gunicorn-registry stdout | 2025-09-26 08:37:21,261 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083721Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | dabce995c64f585cf7e6a1864ecf910306ecd49d86f1c6b0eab99307b0d17525 gunicorn-registry stdout | 2025-09-26 08:37:21,261 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 30a15038f9bece7464ebfef9119158a9f47795fdf7b0d234fbc825aa2c220df1 gunicorn-registry stdout | 2025-09-26 08:37:21,261 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,261 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:21,262 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:21,278 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8?uploadId=68d650c1d73ec60008f93540 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:21,278 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9gxb-74bsl5-13a2', 'x-amz-id-2': 'mg0l9gxb-74bsl5-13a2', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:21 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:21,278 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8"c2138b8b08a06c698b41a1835d8c262b-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8?uploadId=68d650c1d73ec60008f93540' gunicorn-registry stdout | 2025-09-26 08:37:21,278 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,278 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,278 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:21,278 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,278 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9gxb-74bsl5-13a2', 'HostId': 'mg0l9gxb-74bsl5-13a2', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9gxb-74bsl5-13a2', 'x-amz-id-2': 'mg0l9gxb-74bsl5-13a2', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:21 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8?uploadId=68d650c1d73ec60008f93540', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8', 'ETag': '"c2138b8b08a06c698b41a1835d8c262b-1"'} gunicorn-registry stdout | 2025-09-26 08:37:21,278 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:21,280 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:21,280 [256] [DEBUG] [data.registry_model.blobuploader] Uploaded 597 bytes to blob acd1fb55-fada-41e7-8304-82258617f3e7 took 0.1419355869293213 seconds gunicorn-registry stdout | 2025-09-26 08:37:21,281 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['acd1fb55-fada-41e7-8304-82258617f3e7', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,285 [256] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, 'acd1fb55-fada-41e7-8304-82258617f3e7', 597, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwM2EiXX0sInZhcmlhbnQiOiJ2OCJ9YjNmMThkMDg3ZDJjZTFkNjdkOGYwZTkyN2RjNzI1NGIwYWQwODgwNzRjZBUAAAAAAAAAABIAAAAAAABugcc7e6iqXyEvGGtIStDdgA7tJ0j46vTu0/1dx6sN7JRiLg==', 9, '{"chunks": [["uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8", 0, 597]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 21, 57863), None, None, 62]) gunicorn-registry stdout | 2025-09-26 08:37:21,291 [256] [DEBUG] [app] Ending request: urn:request:0508e8e0-c134-4926-b217-21b904773c27 (/v2/testorg2/alpine/blobs/uploads/acd1fb55-fada-41e7-8304-82258617f3e7) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:0508e8e0-c134-4926-b217-21b904773c27', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/acd1fb55-fada-41e7-8304-82258617f3e7', 'path': '/v2/testorg2/alpine/blobs/uploads/acd1fb55-fada-41e7-8304-82258617f3e7', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:21,291 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:21,291 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:21,291 [256] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:21 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/acd1fb55-fada-41e7-8304-82258617f3e7 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:21 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/acd1fb55-fada-41e7-8304-82258617f3e7 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.190 2373 0.189) gunicorn-registry stdout | 2025-09-26 08:37:21,334 [257] [DEBUG] [app] Starting request: urn:request:a4a1e028-a91e-408b-a6b4-eab8643162ef (/v2/testorg2/alpine/blobs/uploads/acd1fb55-fada-41e7-8304-82258617f3e7) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:21,334 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'acd1fb55-fada-41e7-8304-82258617f3e7', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:21,334 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:21,335 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:21,336 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:21,336 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:21,336 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:21,336 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:21,336 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:21,337 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,341 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,344 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,348 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,352 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,355 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,359 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,363 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:21,367 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['acd1fb55-fada-41e7-8304-82258617f3e7', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,371 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:21,371 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:21,371 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:21,372 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:21,372 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/72dac693-f3a4-47a8-b382-92893619e1e8', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:21,372 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,372 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,372 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,372 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,372 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,372 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,372 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,372 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,372 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:21,372 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:21,373 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:21,373 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:21,373 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,373 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,373 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,373 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/72dac693-f3a4-47a8-b382-92893619e1e8?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/72dac693-f3a4-47a8-b382-92893619e1e8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/72dac693-f3a4-47a8-b382-92893619e1e8?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/72dac693-f3a4-47a8-b382-92893619e1e8', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:21,373 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,373 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,373 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,373 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,374 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:21,374 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/72dac693-f3a4-47a8-b382-92893619e1e8 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083721Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:21,374 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083721Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4c211a0393f7acf3580f6659742056afb7dd1289e43122b18625cac4a9173a88 gunicorn-registry stdout | 2025-09-26 08:37:21,374 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ea7dc1af9fc5a5d30eec1c4b1d8362092bbad06686c58454ec501ab2f9272c9a gunicorn-registry stdout | 2025-09-26 08:37:21,374 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,374 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:21,374 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:21,380 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/72dac693-f3a4-47a8-b382-92893619e1e8?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:21,380 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9h0f-8z8s74-xjx', 'x-amz-id-2': 'mg0l9h0f-8z8s74-xjx', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:21 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:21,380 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/72dac693-f3a4-47a8-b382-92893619e1e868d650c1d73ec60008f93546' gunicorn-registry stdout | 2025-09-26 08:37:21,380 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,380 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:21,381 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,381 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9h0f-8z8s74-xjx', 'HostId': 'mg0l9h0f-8z8s74-xjx', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9h0f-8z8s74-xjx', 'x-amz-id-2': 'mg0l9h0f-8z8s74-xjx', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:21 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/72dac693-f3a4-47a8-b382-92893619e1e8', 'UploadId': '68d650c1d73ec60008f93546'} gunicorn-registry stdout | 2025-09-26 08:37:21,381 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:21,381 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/72dac693-f3a4-47a8-b382-92893619e1e8', 'UploadId': '68d650c1d73ec60008f93546'} gunicorn-registry stdout | 2025-09-26 08:37:21,381 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,382 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,382 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,382 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,382 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,382 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,382 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:21,382 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:21,382 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:21,382 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:21,382 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,382 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,383 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,383 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/72dac693-f3a4-47a8-b382-92893619e1e8', 'query_string': {'uploadId': '68d650c1d73ec60008f93546'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/72dac693-f3a4-47a8-b382-92893619e1e8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/72dac693-f3a4-47a8-b382-92893619e1e8?uploadId=68d650c1d73ec60008f93546', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/72dac693-f3a4-47a8-b382-92893619e1e8', 'UploadId': '68d650c1d73ec60008f93546'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:21,383 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,383 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,383 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,383 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,383 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:21,383 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/72dac693-f3a4-47a8-b382-92893619e1e8 gunicorn-registry stdout | uploadId=68d650c1d73ec60008f93546 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083721Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:21,383 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083721Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | b719cdcc579903fe9bc1eca6b416357fa2f091e171bd60a0667e6aab66f4f832 gunicorn-registry stdout | 2025-09-26 08:37:21,384 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 32f051e5282f4d336117d0604dd70aa879bbf9f69cecec844c7677c1fdf8b79c gunicorn-registry stdout | 2025-09-26 08:37:21,384 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,384 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:21,384 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:21,391 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/72dac693-f3a4-47a8-b382-92893619e1e8?uploadId=68d650c1d73ec60008f93546 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:21,392 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9h0p-957b48-beh', 'x-amz-id-2': 'mg0l9h0p-957b48-beh', 'Date': 'Fri, 26 Sep 2025 08:37:21 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:21,392 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:21,392 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,393 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:21,393 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,393 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9h0p-957b48-beh', 'HostId': 'mg0l9h0p-957b48-beh', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9h0p-957b48-beh', 'x-amz-id-2': 'mg0l9h0p-957b48-beh', 'date': 'Fri, 26 Sep 2025 08:37:21 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:21,393 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob acd1fb55-fada-41e7-8304-82258617f3e7 took 0.022053003311157227 seconds gunicorn-registry stdout | 2025-09-26 08:37:21,394 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['acd1fb55-fada-41e7-8304-82258617f3e7', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,398 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, 'acd1fb55-fada-41e7-8304-82258617f3e7', 597, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwM2EiXX0sInZhcmlhbnQiOiJ2OCJ9YjNmMThkMDg3ZDJjZTFkNjdkOGYwZTkyN2RjNzI1NGIwYWQwODgwNzRjZBUAAAAAAAAAABIAAAAAAABugcc7e6iqXyEvGGtIStDdgA7tJ0j46vTu0/1dx6sN7JRiLg==', 9, '{"chunks": [["uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8", 0, 597]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 21, 57863), None, None, 62]) gunicorn-registry stdout | 2025-09-26 08:37:21,403 [257] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:37:21,403 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'} gunicorn-registry stdout | 2025-09-26 08:37:21,403 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:21,403 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:21,404 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:21,405 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612'} gunicorn-registry stdout | 2025-09-26 08:37:21,405 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,405 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,405 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,405 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,405 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,405 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,405 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,405 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:21,406 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:21,406 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:21,406 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:21,406 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,406 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,406 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,406 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:21,406 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,406 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,406 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,406 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,407 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:21,407 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083721Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:21,407 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083721Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | e9e1bc00ca594227ea68645b60efdeb8f88ed68e89e2f773a5486e30f32629e9 gunicorn-registry stdout | 2025-09-26 08:37:21,407 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | d344be94e9547a7a36d5062e9cdb1ada6b51866815a62e6fde6e888bc78f0ed9 gunicorn-registry stdout | 2025-09-26 08:37:21,407 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,407 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:21,408 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:21,413 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:21,413 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9h1d-9jdsp2-161n', 'x-amz-id-2': 'mg0l9h1d-9jdsp2-161n', 'Content-Type': 'application/xml', 'Content-Length': '339', 'Date': 'Fri, 26 Sep 2025 08:37:21 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:21,413 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:21,413 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,413 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:21,413 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,413 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:21,413 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:21,413 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612 gunicorn-registry stdout | 2025-09-26 08:37:21,414 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:21,414 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:21,414 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:21,414 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:21,414 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,415 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,415 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,415 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,415 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,415 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,415 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,415 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:21,415 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:21,415 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:21,415 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:21,415 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,415 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,416 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,416 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:21,416 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,416 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,416 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,416 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,416 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,416 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:21,416 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083721Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:21,416 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083721Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4b27b4e55c15b0f46ce4ae21ffba8315dd3d345d52a1a2d8c0c733759ab70519 gunicorn-registry stdout | 2025-09-26 08:37:21,417 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6249ecf43a2ba3c07df4cc7e3a50aedbd7c6fecc7df66193b302fbde79a3bd2a gunicorn-registry stdout | 2025-09-26 08:37:21,417 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,417 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,418 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:21,418 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:21,418 [257] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-web stdout | 2025-09-26 08:37:21,444 [239] [DEBUG] [app] Starting request: urn:request:d55bf3b8-8609-43ff-91e7-b40b64abd11d (/api/v1/signin) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gcworker stdout | 2025-09-26 08:37:21,444 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:37:21,444 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:34.439268+00:00 (in 12.994385 seconds) gcworker stdout | 2025-09-26 08:37:21,445 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:51 GMT)" (scheduled at 2025-09-26 08:37:21.444401+00:00) gcworker stdout | 2025-09-26 08:37:21,445 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:21,446 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) OR ("t1"."email" = %s)) LIMIT %s OFFSET %s', ['quay', 'quay', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,446 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:21,447 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9h2a-a2suxr-3j3', 'x-amz-id-2': 'mg0l9h2a-a2suxr-3j3', 'ETag': '"c2138b8b08a06c698b41a1835d8c262b-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:21 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '597', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:21 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:21,447 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:21,448 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,448 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:21,448 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,448 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:21,448 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:21,449 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:21,449 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:21,449 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 'extra_args': {}, 'callbacks': [], 'size': 597} gunicorn-registry stdout | 2025-09-26 08:37:21,449 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,449 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,450 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,450 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,450 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,450 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,450 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,450 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,450 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,450 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,450 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:21,450 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:21,450 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:21,450 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:21,451 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,451 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,451 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,451 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:21,451 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,451 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,451 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,451 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,451 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,451 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:21,452 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/728ab6ba-fedd-43c5-bf24-59d721c9edc8 gunicorn-registry stdout | x-amz-date:20250926T083721Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:21,452 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083721Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | e8eeb2cec87061636e3402df4b5b9a8ff3496b540db27af6ac120f68b7ddf2a1 gunicorn-registry stdout | 2025-09-26 08:37:21,452 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 1ec26118eb71f97f704686ff31ff92cf74dc07a16b34fc2f2db8c662dd919692 gunicorn-registry stdout | 2025-09-26 08:37:21,452 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,452 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,452 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:21,452 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:21,453 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gcworker stdout | 2025-09-26 08:37:21,465 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875541458, None, 1, 0]) gcworker stdout | 2025-09-26 08:37:21,470 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:37:21,470 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:51 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:37:21,478 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:21,478 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9h2m-a9we8c-ail', 'x-amz-id-2': 'mg0l9h2m-a9we8c-ail', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:21 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:21,478 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:21.000Z"c2138b8b08a06c698b41a1835d8c262b-1"' gunicorn-registry stdout | 2025-09-26 08:37:21,479 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,479 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:21,479 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:21,479 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:21,479 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:21,480 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob acd1fb55-fada-41e7-8304-82258617f3e7 with digest sha256:02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612 took 0.06621289253234863 seconds gunicorn-registry stdout | 2025-09-26 08:37:21,480 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['acd1fb55-fada-41e7-8304-82258617f3e7', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,484 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,486 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['8b0bb733-7b6e-4402-aac7-06ada985b453', 597, None, True, True, 'sha256:02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612']) gunicorn-registry stdout | 2025-09-26 08:37:21,488 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [63, 9]) gunicorn-registry stdout | 2025-09-26 08:37:21,489 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,491 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 63, datetime.datetime(2025, 9, 26, 8, 37, 21, 491255), datetime.datetime(2025, 9, 26, 9, 37, 21, 491235)]) gunicorn-registry stdout | 2025-09-26 08:37:21,493 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [62]) gunicorn-registry stdout | 2025-09-26 08:37:21,497 [257] [DEBUG] [app] Ending request: urn:request:a4a1e028-a91e-408b-a6b4-eab8643162ef (/v2/testorg2/alpine/blobs/uploads/acd1fb55-fada-41e7-8304-82258617f3e7) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:a4a1e028-a91e-408b-a6b4-eab8643162ef', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/acd1fb55-fada-41e7-8304-82258617f3e7?digest=sha256:02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 'path': '/v2/testorg2/alpine/blobs/uploads/acd1fb55-fada-41e7-8304-82258617f3e7', 'parameters': {'digest': 'sha256:02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:21,497 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:21,498 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:21,499 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:21 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/acd1fb55-fada-41e7-8304-82258617f3e7?digest=sha256%3A02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:21 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/acd1fb55-fada-41e7-8304-82258617f3e7?digest=sha256%3A02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.165 1853 0.165) gunicorn-web stdout | 2025-09-26 08:37:21,742 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:21,746 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:21,750 [239] [DEBUG] [endpoints.common] Successfully signed in as user quay with uuid 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:21,750 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:37:21,750 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:21,751 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."username" = %s) LIMIT %s OFFSET %s', ['quay', 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:21,755 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "logentrykind" AS "t1"', []) gunicorn-web stdout | 2025-09-26 08:37:21,760 [239] [DEBUG] [peewee] ('INSERT INTO "logentry3" ("kind_id", "account_id", "performer_id", "repository_id", "datetime", "ip", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s) RETURNING "logentry3"."id"', [97, 1, None, None, datetime.datetime(2025, 9, 26, 8, 37, 21, 750901), '10.131.2.20', '{"type": "quayauth", "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"}']) gunicorn-web stdout | 2025-09-26 08:37:21,765 [239] [DEBUG] [app] Ending request: urn:request:d55bf3b8-8609-43ff-91e7-b40b64abd11d (/api/v1/signin) {'endpoint': 'api.signin', 'request_id': 'urn:request:d55bf3b8-8609-43ff-91e7-b40b64abd11d', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/signin', 'path': '/api/v1/signin', 'parameters': {}, 'json_body': {'username': 'quay', 'password': '[FILTERED]'}, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:37:21,766 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:37:21,766 [239] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:21 +0000] "POST /api/v1/signin HTTP/1.0" 200 18 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:21 +0000] "POST /api/v1/signin HTTP/1.1" 200 18 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.323 2338 0.323) gunicorn-registry stdout | 2025-09-26 08:37:21,946 [250] [DEBUG] [app] Starting request: urn:request:ecbd5365-10d6-4bcd-9124-2de69c280a64 (/v2/testorg2/alpine/blobs/sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:21,946 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:21,946 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:21,946 [257] [DEBUG] [app] Starting request: urn:request:055d484c-cdf9-40e5-a5b4-9d0d9246c0f7 (/v2/testorg2/alpine/blobs/sha256:c03aca438ba0cf5658ce37a01bd055c6ec48f88f2ebd6fc7a4c20cd0bbe84d58) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:21,946 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:21,946 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:c03aca438ba0cf5658ce37a01bd055c6ec48f88f2ebd6fc7a4c20cd0bbe84d58', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:21,946 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:21,946 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:21,947 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:21,947 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:21,947 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:21,947 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:21,947 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:21,947 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:21,947 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:21,947 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:21,947 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:21,947 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:21,948 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,948 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,952 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,953 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,956 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:21,956 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:21,956 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b_2 gunicorn-registry stdout | 2025-09-26 08:37:21,956 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:c03aca438ba0cf5658ce37a01bd055c6ec48f88f2ebd6fc7a4c20cd0bbe84d58_2 gunicorn-registry stdout | 2025-09-26 08:37:21,956 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:21,956 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:c03aca438ba0cf5658ce37a01bd055c6ec48f88f2ebd6fc7a4c20cd0bbe84d58_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:21,957 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,957 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,961 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,961 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,964 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,965 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,968 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:c03aca438ba0cf5658ce37a01bd055c6ec48f88f2ebd6fc7a4c20cd0bbe84d58', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,968 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,972 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,972 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:c03aca438ba0cf5658ce37a01bd055c6ec48f88f2ebd6fc7a4c20cd0bbe84d58', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:21,975 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b_2: None gunicorn-registry stdout | 2025-09-26 08:37:21,975 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b_2: None gunicorn-registry stdout | 2025-09-26 08:37:21,975 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:21,976 [250] [DEBUG] [app] Ending request: urn:request:ecbd5365-10d6-4bcd-9124-2de69c280a64 (/v2/testorg2/alpine/blobs/sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:ecbd5365-10d6-4bcd-9124-2de69c280a64', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 'path': '/v2/testorg2/alpine/blobs/sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:21,976 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:21,976 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:21,976 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:c03aca438ba0cf5658ce37a01bd055c6ec48f88f2ebd6fc7a4c20cd0bbe84d58_2: None gunicorn-registry stdout | 2025-09-26 08:37:21,976 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:c03aca438ba0cf5658ce37a01bd055c6ec48f88f2ebd6fc7a4c20cd0bbe84d58_2: None gunicorn-registry stdout | 2025-09-26 08:37:21,976 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:21 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b HTTP/1.1" 404 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:37:21,976 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:21 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.031 1718 0.031) gunicorn-registry stdout | 2025-09-26 08:37:21,976 [257] [DEBUG] [app] Ending request: urn:request:055d484c-cdf9-40e5-a5b4-9d0d9246c0f7 (/v2/testorg2/alpine/blobs/sha256:c03aca438ba0cf5658ce37a01bd055c6ec48f88f2ebd6fc7a4c20cd0bbe84d58) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:055d484c-cdf9-40e5-a5b4-9d0d9246c0f7', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:c03aca438ba0cf5658ce37a01bd055c6ec48f88f2ebd6fc7a4c20cd0bbe84d58', 'path': '/v2/testorg2/alpine/blobs/sha256:c03aca438ba0cf5658ce37a01bd055c6ec48f88f2ebd6fc7a4c20cd0bbe84d58', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:21,977 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:21,977 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:21,977 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:21 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:c03aca438ba0cf5658ce37a01bd055c6ec48f88f2ebd6fc7a4c20cd0bbe84d58 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:21 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:c03aca438ba0cf5658ce37a01bd055c6ec48f88f2ebd6fc7a4c20cd0bbe84d58 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.032 1718 0.032) manifestsubjectbackfillworker stdout | 2025-09-26 08:37:22,097 [64] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestsubjectbackfillworker.py', 'pid': '64'} gunicorn-web stdout | 2025-09-26 08:37:22,116 [239] [DEBUG] [app] Starting request: urn:request:abfd87b4-3dd2-43c4-8062-3b6e4d183efb (/api/v1/user/) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:37:22,116 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:22,116 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:22,117 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:22,130 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:37:22,131 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:37:22,131 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:22,131 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:22,131 [239] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:22,131 [239] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:22,131 [239] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:22,133 [239] [DEBUG] [peewee] ('SELECT DISTINCT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" INNER JOIN "team" AS "t2" ON ("t2"."organization_id" = "t1"."id") INNER JOIN "teammember" AS "t3" ON ("t3"."team_id" = "t2"."id") INNER JOIN "user" AS "t4" ON ("t4"."id" = "t3"."user_id") WHERE (("t1"."organization" = %s) AND ("t4"."username" = %s))', [True, 'quay']) gunicorn-web stdout | 2025-09-26 08:37:22,138 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:22,139 [239] [DEBUG] [peewee] ('SELECT "t1"."service_ident", "t2"."name", "t1"."metadata_json" FROM "federatedlogin" AS "t1" INNER JOIN "loginservice" AS "t2" ON ("t1"."service_id" = "t2"."id") WHERE (("t2"."name" != %s) AND ("t1"."user_id" = %s))', ['quayrobot', 1]) gunicorn-registry stdout | 2025-09-26 08:37:22,141 [256] [DEBUG] [app] Starting request: urn:request:d333a102-ab76-446d-9c50-74795aeaf374 (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:22,141 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:22,141 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:22,141 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:22,142 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:22,142 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:22,142 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:22,142 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:22,142 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:22,143 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:22,144 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."user_id", "t1"."kind_id" FROM "userprompt" AS "t1" INNER JOIN "userpromptkind" AS "t2" ON ("t1"."kind_id" = "t2"."id") WHERE ("t1"."user_id" = %s)', [1]) gunicorn-registry stdout | 2025-09-26 08:37:22,147 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:22,149 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['quay', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,151 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:22,153 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-registry stdout | 2025-09-26 08:37:22,155 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,157 [250] [DEBUG] [app] Starting request: urn:request:dd8fd214-abc3-4690-ad74-92c260f15de1 (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:22,158 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:22,158 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:22,158 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-web stdout | 2025-09-26 08:37:22,158 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quay', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,159 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:22,159 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:22,159 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:22,159 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:22,159 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:22,160 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,160 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:22,162 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-registry stdout | 2025-09-26 08:37:22,163 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,165 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:22,166 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,167 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:22,169 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:22,170 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:22,170 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-registry stdout | 2025-09-26 08:37:22,172 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:22,172 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-registry stdout | 2025-09-26 08:37:22,175 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,175 [256] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, 'c3f9badb-6ae8-435d-8265-7d2f22971c41', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 22, 175168)]) gunicorn-web stdout | 2025-09-26 08:37:22,177 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:37:22,177 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:37:22,177 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:37:22,177 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:37:22,177 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:37:22,178 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:37:22,178 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:37:22,178 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:37:22,178 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg2', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:37:22,178 [239] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:37:22,178 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-registry stdout | 2025-09-26 08:37:22,178 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:22,178 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:22,178 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:22,178 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:22,178 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:22,178 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:22,179 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:22,179 [239] [DEBUG] [app] Ending request: urn:request:abfd87b4-3dd2-43c4-8062-3b6e4d183efb (/api/v1/user/) {'endpoint': 'api.user', 'request_id': 'urn:request:abfd87b4-3dd2-43c4-8062-3b6e4d183efb', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/user/', 'path': '/api/v1/user/', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:37:22,180 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:37:22,180 [239] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:22 +0000] "GET /api/v1/user/ HTTP/1.0" 200 1484 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:22 +0000] "GET /api/v1/user/ HTTP/1.1" 200 1484 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.065 2370 0.065) gunicorn-registry stdout | 2025-09-26 08:37:22,181 [256] [DEBUG] [app] Ending request: urn:request:d333a102-ab76-446d-9c50-74795aeaf374 (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:d333a102-ab76-446d-9c50-74795aeaf374', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:22,181 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:22,181 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:22,181 [256] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:22 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:22 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.042 1697 0.042) gunicorn-registry stdout | 2025-09-26 08:37:22,185 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,189 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:22,193 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,196 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, '8629f85e-09dc-4438-badc-a329b47ce248', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 22, 196223)]) gunicorn-registry stdout | 2025-09-26 08:37:22,201 [250] [DEBUG] [app] Ending request: urn:request:dd8fd214-abc3-4690-ad74-92c260f15de1 (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:dd8fd214-abc3-4690-ad74-92c260f15de1', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:22,202 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:22,202 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:22,202 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:22 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:22 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.046 1697 0.046) gunicorn-registry stdout | 2025-09-26 08:37:22,242 [250] [DEBUG] [app] Starting request: urn:request:cf015761-24cd-489a-844b-af7f81dba670 (/v2/testorg2/alpine/blobs/uploads/8629f85e-09dc-4438-badc-a329b47ce248) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:22,242 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '8629f85e-09dc-4438-badc-a329b47ce248', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:22,242 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:22,242 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:22,244 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:22,244 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:22,244 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:22,244 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:22,244 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine securityscanningnotificationworker stdout | 2025-09-26 08:37:22,245 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gunicorn-registry stdout | 2025-09-26 08:37:22,245 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) securityscanningnotificationworker stdout | 2025-09-26 08:37:22,245 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:42.242482+00:00 (in 19.996778 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:37:22,245 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:22 GMT)" (scheduled at 2025-09-26 08:37:22.245238+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:37:22,246 [88] [DEBUG] [workers.queueworker] Running watchdog. securityscanningnotificationworker stdout | 2025-09-26 08:37:22,246 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:22 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:37:22,250 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,253 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,260 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,272 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,276 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,279 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,283 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:22,287 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['8629f85e-09dc-4438-badc-a329b47ce248', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,291 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:22,291 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:22,291 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:22,292 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:22,292 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:22,292 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,292 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,292 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,292 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,292 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,292 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,292 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,292 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,293 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:22,293 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:22,293 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:22,293 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:22,293 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,293 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,293 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,293 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:22,293 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,293 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,293 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,293 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,294 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:22,294 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083722Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:22,294 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083722Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 013dc85752f877120734e1e879fa37d63dfbedf3c749af76562056f98e74d614 gunicorn-registry stdout | 2025-09-26 08:37:22,294 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6c071059e3d61488473a5dc0008aa967dc74446d69a51b7cd4af322d1cc70091 gunicorn-registry stdout | 2025-09-26 08:37:22,294 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,294 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:22,294 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:22,299 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:22,300 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9hpz-7nk27e-18wz', 'x-amz-id-2': 'mg0l9hpz-7nk27e-18wz', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:22 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:22,300 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b268d650c2d73ec60008f9354c' gunicorn-registry stdout | 2025-09-26 08:37:22,300 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,300 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:22,300 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,300 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9hpz-7nk27e-18wz', 'HostId': 'mg0l9hpz-7nk27e-18wz', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9hpz-7nk27e-18wz', 'x-amz-id-2': 'mg0l9hpz-7nk27e-18wz', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:22 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2', 'UploadId': '68d650c2d73ec60008f9354c'} gunicorn-registry stdout | 2025-09-26 08:37:22,300 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:22,316 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:22,316 [250] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:22,316 [250] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2', 'UploadId': '68d650c2d73ec60008f9354c', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dab6480>, 'ContentLength': 81012} gunicorn-registry stdout | 2025-09-26 08:37:22,317 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,317 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,317 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,317 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,317 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,317 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,317 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,317 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,317 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:22,317 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:22,318 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:22,318 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:22,318 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,318 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,318 [250] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:22,318 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,318 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,318 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2', 'query_string': {'uploadId': '68d650c2d73ec60008f9354c', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '81012', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'WPnHuxjH+YpsBugAixaXhA==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dab6480>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2?uploadId=68d650c2d73ec60008f9354c&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2', 'UploadId': '68d650c2d73ec60008f9354c', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dab6480>, 'ContentLength': 81012}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:22,319 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,319 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,319 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,319 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,319 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:22,319 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2 gunicorn-registry stdout | partNumber=1&uploadId=68d650c2d73ec60008f9354c gunicorn-registry stdout | content-length:81012 gunicorn-registry stdout | content-md5:WPnHuxjH+YpsBugAixaXhA== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083722Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:22,319 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083722Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ff6ab956eb385aaab128d8e552affeede755d304da5bd1aed85f7eaf54773164 gunicorn-registry stdout | 2025-09-26 08:37:22,319 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 90191ad381c47f28ccc3f79dbd3267f79dfef76b9d1e71d974c96a75bccb2eb1 gunicorn-registry stdout | 2025-09-26 08:37:22,319 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,319 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:22,320 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:22,321 [250] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:22,321 [250] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:22,404 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2?uploadId=68d650c2d73ec60008f9354c&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:22,405 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9hqp-83270k-s25', 'x-amz-id-2': 'mg0l9hqp-83270k-s25', 'ETag': '"58f9c7bb18c7f98a6c06e8008b169784"', 'Date': 'Fri, 26 Sep 2025 08:37:22 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:22,405 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:22,405 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,405 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:22,405 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,405 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9hqp-83270k-s25', 'HostId': 'mg0l9hqp-83270k-s25', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9hqp-83270k-s25', 'x-amz-id-2': 'mg0l9hqp-83270k-s25', 'etag': '"58f9c7bb18c7f98a6c06e8008b169784"', 'date': 'Fri, 26 Sep 2025 08:37:22 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"58f9c7bb18c7f98a6c06e8008b169784"'} gunicorn-registry stdout | 2025-09-26 08:37:22,406 [250] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2', 'UploadId': '68d650c2d73ec60008f9354c', 'MultipartUpload': {'Parts': [{'ETag': '"58f9c7bb18c7f98a6c06e8008b169784"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:22,406 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,406 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,406 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,406 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,406 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,406 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,406 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,406 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:22,406 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:22,406 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:22,406 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:22,407 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,407 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,407 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,407 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2', 'query_string': {'uploadId': '68d650c2d73ec60008f9354c'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"58f9c7bb18c7f98a6c06e8008b169784"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2?uploadId=68d650c2d73ec60008f9354c', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2', 'UploadId': '68d650c2d73ec60008f9354c', 'MultipartUpload': {'Parts': [{'ETag': '"58f9c7bb18c7f98a6c06e8008b169784"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:22,407 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,407 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,407 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,407 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,407 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:22,407 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2 gunicorn-registry stdout | uploadId=68d650c2d73ec60008f9354c gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:01a7559712e9b27e4334a6553777c46d2e30582608a3a50af7eb1fa4e460b98d gunicorn-registry stdout | x-amz-date:20250926T083722Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 01a7559712e9b27e4334a6553777c46d2e30582608a3a50af7eb1fa4e460b98d gunicorn-registry stdout | 2025-09-26 08:37:22,408 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083722Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | baa6470a2bb744a084d6fa51b855a9ee5815c9783e33f619a6892f4d7ee4666b gunicorn-registry stdout | 2025-09-26 08:37:22,408 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 382c9412e2dd59f405a9cd28b7f434ba2bc7d9860b853d93619b1ccc05bb986f gunicorn-registry stdout | 2025-09-26 08:37:22,408 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,408 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:22,408 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:22,426 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2?uploadId=68d650c2d73ec60008f9354c HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:22,427 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ht5-9j6zbo-pa5', 'x-amz-id-2': 'mg0l9ht5-9j6zbo-pa5', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:22 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:22,427 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2"6af8d721888a865228e240474cb08424-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2?uploadId=68d650c2d73ec60008f9354c' gunicorn-registry stdout | 2025-09-26 08:37:22,427 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,428 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,428 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:22,428 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,428 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9ht5-9j6zbo-pa5', 'HostId': 'mg0l9ht5-9j6zbo-pa5', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ht5-9j6zbo-pa5', 'x-amz-id-2': 'mg0l9ht5-9j6zbo-pa5', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:22 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2?uploadId=68d650c2d73ec60008f9354c', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2', 'ETag': '"6af8d721888a865228e240474cb08424-1"'} gunicorn-registry stdout | 2025-09-26 08:37:22,428 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:22,430 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:22,430 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 81012 bytes to blob 8629f85e-09dc-4438-badc-a329b47ce248 took 0.13906550407409668 seconds gunicorn-registry stdout | 2025-09-26 08:37:22,431 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['8629f85e-09dc-4438-badc-a329b47ce248', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,435 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '8629f85e-09dc-4438-badc-a329b47ce248', 81012, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwOGVjOTZkZDEzNTgiLCJyZWxhdGlvbnNoaXBUeXBlIjoiR0VORVJBVEVEX0ZST00ifV19fWIyMjE1M2ZjNmE0ZjQAAAAAAAAAAOIJAAAAAAC3mD9R0SLE3YbtLc7ops8Z3LYfZsViLA46czeffKDDO5RiLg==', 9, '{"chunks": [["uploads/3dabe104-3962-44c4-b404-7f1c963529b2", 0, 81012]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 22, 196223), None, None, 64]) gunicorn-registry stdout | 2025-09-26 08:37:22,440 [250] [DEBUG] [app] Ending request: urn:request:cf015761-24cd-489a-844b-af7f81dba670 (/v2/testorg2/alpine/blobs/uploads/8629f85e-09dc-4438-badc-a329b47ce248) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:cf015761-24cd-489a-844b-af7f81dba670', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/8629f85e-09dc-4438-badc-a329b47ce248', 'path': '/v2/testorg2/alpine/blobs/uploads/8629f85e-09dc-4438-badc-a329b47ce248', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:22,441 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:22,441 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:22,441 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:22 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/8629f85e-09dc-4438-badc-a329b47ce248 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:22 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/8629f85e-09dc-4438-badc-a329b47ce248 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.206 82790 0.201) gunicorn-registry stdout | 2025-09-26 08:37:22,485 [256] [DEBUG] [app] Starting request: urn:request:d1700034-34a3-4ba8-b6c0-05799c2b3d67 (/v2/testorg2/alpine/blobs/uploads/8629f85e-09dc-4438-badc-a329b47ce248) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:22,486 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '8629f85e-09dc-4438-badc-a329b47ce248', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:22,486 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:22,486 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:22,487 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:22,488 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:22,488 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:22,488 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:22,488 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:22,489 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,494 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,498 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,502 [256] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,506 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,510 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,513 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,517 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:22,521 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['8629f85e-09dc-4438-badc-a329b47ce248', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,525 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:22,525 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:22,526 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:22,527 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:22,527 [256] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/ab6b1b13-31f9-4d72-aff8-cfa7d3a59fcc', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:22,527 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,527 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,528 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,528 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,528 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,528 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,528 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,528 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,528 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:22,528 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:22,528 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:22,528 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:22,528 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,529 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,529 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,529 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/ab6b1b13-31f9-4d72-aff8-cfa7d3a59fcc?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/ab6b1b13-31f9-4d72-aff8-cfa7d3a59fcc', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/ab6b1b13-31f9-4d72-aff8-cfa7d3a59fcc?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/ab6b1b13-31f9-4d72-aff8-cfa7d3a59fcc', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:22,529 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,529 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,529 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,529 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,530 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:22,530 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/ab6b1b13-31f9-4d72-aff8-cfa7d3a59fcc gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083722Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:22,530 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083722Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 2f17024ed6abfee8676a62125f806e09c4f72183f189125d574fbe7e9c31c374 gunicorn-registry stdout | 2025-09-26 08:37:22,530 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | d3cd7f8ccfc2325d15e46d0e9d0c4a7d0c1a278b4f9f384a91f3c1a9fa8a3464 gunicorn-registry stdout | 2025-09-26 08:37:22,531 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,531 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:22,531 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-web stdout | 2025-09-26 08:37:22,534 [239] [DEBUG] [app] Starting request: urn:request:4d743f2e-5168-4927-aa8a-c80765419384 (/api/v1/user/notifications) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:37:22,534 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:22,535 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:22,535 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,542 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/ab6b1b13-31f9-4d72-aff8-cfa7d3a59fcc?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:22,542 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9hwn-bmcr6l-ugl', 'x-amz-id-2': 'mg0l9hwn-bmcr6l-ugl', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:22 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:22,542 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/ab6b1b13-31f9-4d72-aff8-cfa7d3a59fcc68d650c2d73ec60008f93558' gunicorn-registry stdout | 2025-09-26 08:37:22,543 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,543 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:22,543 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,543 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9hwn-bmcr6l-ugl', 'HostId': 'mg0l9hwn-bmcr6l-ugl', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9hwn-bmcr6l-ugl', 'x-amz-id-2': 'mg0l9hwn-bmcr6l-ugl', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:22 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/ab6b1b13-31f9-4d72-aff8-cfa7d3a59fcc', 'UploadId': '68d650c2d73ec60008f93558'} gunicorn-registry stdout | 2025-09-26 08:37:22,543 [256] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:22,544 [256] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/ab6b1b13-31f9-4d72-aff8-cfa7d3a59fcc', 'UploadId': '68d650c2d73ec60008f93558'} gunicorn-registry stdout | 2025-09-26 08:37:22,544 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,544 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,544 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,544 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,544 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,544 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,544 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:22,544 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:22,545 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:22,545 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:22,545 [256] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,545 [256] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,546 [256] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,546 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/ab6b1b13-31f9-4d72-aff8-cfa7d3a59fcc', 'query_string': {'uploadId': '68d650c2d73ec60008f93558'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/ab6b1b13-31f9-4d72-aff8-cfa7d3a59fcc', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/ab6b1b13-31f9-4d72-aff8-cfa7d3a59fcc?uploadId=68d650c2d73ec60008f93558', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/ab6b1b13-31f9-4d72-aff8-cfa7d3a59fcc', 'UploadId': '68d650c2d73ec60008f93558'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:22,546 [256] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,546 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,546 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,546 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,546 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:22,546 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/ab6b1b13-31f9-4d72-aff8-cfa7d3a59fcc gunicorn-registry stdout | uploadId=68d650c2d73ec60008f93558 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083722Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:22,546 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083722Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | dc71a6a27776de8fb1b40f5e0ab37c8a5aa2a97797b41f7bd66e5228b111a916 gunicorn-registry stdout | 2025-09-26 08:37:22,547 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6d3ab5060ec3ac6fd25d50be29cf58725aa4560972afdee9cb4fb31235f2513a gunicorn-registry stdout | 2025-09-26 08:37:22,547 [256] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,547 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:22,547 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-web stdout | 2025-09-26 08:37:22,552 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:37:22,552 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:37:22,552 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:22,553 [239] [DEBUG] [endpoints.api] Checking permission for user quay gunicorn-web stdout | 2025-09-26 08:37:22,553 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:22,553 [239] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:22,553 [239] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:22,553 [239] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:22,555 [239] [DEBUG] [peewee] ('(SELECT "t1"."id", "t1"."uuid", "t1"."kind_id", "t1"."metadata_json", "t1"."dismissed", "t1"."lookup_path", "t1"."created", "t1"."created" AS "cd", "t1"."target_id" FROM "notification" AS "t1" INNER JOIN "notificationkind" AS "t2" ON ("t1"."kind_id" = "t2"."id") WHERE (("t1"."dismissed" = %s) AND ("t1"."target_id" = %s))) UNION (SELECT "t3"."id", "t3"."uuid", "t3"."kind_id", "t3"."metadata_json", "t3"."dismissed", "t3"."lookup_path", "t3"."created", "t3"."created" AS "cd", "t3"."target_id" FROM "notification" AS "t3" INNER JOIN "notificationkind" AS "t4" ON ("t3"."kind_id" = "t4"."id") INNER JOIN "user" AS "t5" ON ("t5"."id" = "t3"."target_id") INNER JOIN "team" AS "t6" ON ("t5"."id" = "t6"."organization_id") INNER JOIN "teamrole" AS "t7" ON ("t6"."role_id" = "t7"."id") INNER JOIN "teammember" AS "t8" ON ("t6"."id" = "t8"."team_id") INNER JOIN "user" AS "t9" ON ("t8"."user_id" = "t9"."id") WHERE (("t3"."dismissed" = %s) AND (("t9"."id" = %s) AND ("t7"."name" = %s)))) ORDER BY cd desc LIMIT %s', [False, 1, False, 1, 'admin', 6]) gunicorn-registry stdout | 2025-09-26 08:37:22,560 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/ab6b1b13-31f9-4d72-aff8-cfa7d3a59fcc?uploadId=68d650c2d73ec60008f93558 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:22,560 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9hx0-bu79df-the', 'x-amz-id-2': 'mg0l9hx0-bu79df-the', 'Date': 'Fri, 26 Sep 2025 08:37:22 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:22,560 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:22,560 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,561 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:22,561 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,561 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9hx0-bu79df-the', 'HostId': 'mg0l9hx0-bu79df-the', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9hx0-bu79df-the', 'x-amz-id-2': 'mg0l9hx0-bu79df-the', 'date': 'Fri, 26 Sep 2025 08:37:22 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:22,562 [256] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 8629f85e-09dc-4438-badc-a329b47ce248 took 0.03619217872619629 seconds gunicorn-registry stdout | 2025-09-26 08:37:22,562 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['8629f85e-09dc-4438-badc-a329b47ce248', 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:22,565 [239] [DEBUG] [app] Ending request: urn:request:4d743f2e-5168-4927-aa8a-c80765419384 (/api/v1/user/notifications) {'endpoint': 'api.usernotificationlist', 'request_id': 'urn:request:4d743f2e-5168-4927-aa8a-c80765419384', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/user/notifications', 'path': '/api/v1/user/notifications', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:37:22,566 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:22 +0000] "GET /api/v1/user/notifications HTTP/1.1" 200 43 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.033 2383 0.034) gunicorn-web stdout | 2025-09-26 08:37:22,567 [239] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:22 +0000] "GET /api/v1/user/notifications HTTP/1.0" 200 43 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-registry stdout | 2025-09-26 08:37:22,573 [256] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '8629f85e-09dc-4438-badc-a329b47ce248', 81012, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwOGVjOTZkZDEzNTgiLCJyZWxhdGlvbnNoaXBUeXBlIjoiR0VORVJBVEVEX0ZST00ifV19fWIyMjE1M2ZjNmE0ZjQAAAAAAAAAAOIJAAAAAAC3mD9R0SLE3YbtLc7ops8Z3LYfZsViLA46czeffKDDO5RiLg==', 9, '{"chunks": [["uploads/3dabe104-3962-44c4-b404-7f1c963529b2", 0, 81012]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 22, 196223), None, None, 64]) gunicorn-registry stdout | 2025-09-26 08:37:22,578 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:22,578 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:22,578 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:22,580 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:22,580 [256] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/4c/4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b'} gunicorn-registry stdout | 2025-09-26 08:37:22,580 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,580 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,580 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,580 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,580 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,580 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,580 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,580 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:22,581 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:22,581 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:22,581 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:22,581 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,581 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,581 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,581 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/4c/4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4c/4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4c/4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/4c/4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:22,581 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,581 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,581 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,581 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,582 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:22,582 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4c/4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083722Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:22,582 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083722Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | edf20b69c49701a9a58e71fefd48ab6fc50c0771040d4f0cea3fe84791301eca gunicorn-registry stdout | 2025-09-26 08:37:22,582 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 9d4de1f21d8d58d25ba73ba7a169ccc0a3296da775b783963c504c28ffbf3493 gunicorn-registry stdout | 2025-09-26 08:37:22,582 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,582 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:22,583 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:22,590 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4c/4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:22,591 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9hy0-cfqrwo-11l6', 'x-amz-id-2': 'mg0l9hy0-cfqrwo-11l6', 'Content-Type': 'application/xml', 'Content-Length': '339', 'Date': 'Fri, 26 Sep 2025 08:37:22 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:22,591 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:22,591 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,591 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:22,591 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,591 [256] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:22,591 [256] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:22,591 [256] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/4c/4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b gunicorn-registry stdout | 2025-09-26 08:37:22,592 [256] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:22,593 [256] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:22,593 [256] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:22,593 [256] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:22,593 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,593 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,593 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,593 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,593 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,593 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,593 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,593 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:22,594 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:22,594 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:22,594 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:22,594 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,594 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,594 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,594 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:22,594 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,594 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,594 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,594 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,594 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,595 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:22,595 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083722Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:22,595 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083722Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 18f770be3649dd9278e5f6d3b09cf2c7fc7533096f088793ee7cc699dbb79250 gunicorn-registry stdout | 2025-09-26 08:37:22,595 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 49f5472d24c7503fb1276842f0f6d008b8ce7cbabd580ed074fa07edb9629db8 gunicorn-registry stdout | 2025-09-26 08:37:22,595 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,595 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,595 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:22,595 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:22,596 [256] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:37:22,653 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:22,653 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9hzs-dhhrnp-nv1', 'x-amz-id-2': 'mg0l9hzs-dhhrnp-nv1', 'ETag': '"6af8d721888a865228e240474cb08424-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:22 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '81012', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:22 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:22,653 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:22,654 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,654 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:22,654 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,655 [256] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/4c/4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:22,655 [256] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:22,655 [256] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/4c/4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:22,655 [256] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/4c/4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:22,655 [256] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/4c/4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/4c/4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 'extra_args': {}, 'callbacks': [], 'size': 81012} gunicorn-registry stdout | 2025-09-26 08:37:22,655 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,655 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,655 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,656 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,656 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,656 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,656 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,656 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,656 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,656 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,656 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:22,656 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:22,656 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:22,656 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:22,656 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,657 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,657 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,657 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/4c/4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4c/4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4c/4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/4c/4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:22,657 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,657 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,657 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,657 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,657 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,657 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:22,657 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4c/4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/3dabe104-3962-44c4-b404-7f1c963529b2 gunicorn-registry stdout | x-amz-date:20250926T083722Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:22,658 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083722Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 69f45604a23cb8c946de7432216bd5dfa93c59215558c147c9ab70986f25af6c gunicorn-registry stdout | 2025-09-26 08:37:22,658 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | db39b74fc517eddc269d11fe896b82ce829ae8d4f83b4de737a732f0386f31b6 gunicorn-registry stdout | 2025-09-26 08:37:22,658 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,658 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,658 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:22,659 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:22,659 [256] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:22,693 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4c/4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:22,694 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9i05-dpn997-17g', 'x-amz-id-2': 'mg0l9i05-dpn997-17g', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:22 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:22,694 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:22.000Z"6af8d721888a865228e240474cb08424-1"' gunicorn-registry stdout | 2025-09-26 08:37:22,695 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,695 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,695 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:22,695 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:22,695 [256] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:22,696 [256] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 8629f85e-09dc-4438-badc-a329b47ce248 with digest sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b took 0.10432815551757812 seconds gunicorn-registry stdout | 2025-09-26 08:37:22,696 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['8629f85e-09dc-4438-badc-a329b47ce248', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,700 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,703 [256] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['4856bde4-8a21-462a-a282-4934268ba948', 81012, None, True, True, 'sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b']) gunicorn-registry stdout | 2025-09-26 08:37:22,704 [256] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [65, 9]) gunicorn-registry stdout | 2025-09-26 08:37:22,706 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,708 [256] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 65, datetime.datetime(2025, 9, 26, 8, 37, 22, 708373), datetime.datetime(2025, 9, 26, 9, 37, 22, 708352)]) gunicorn-registry stdout | 2025-09-26 08:37:22,710 [256] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [64]) gunicorn-registry stdout | 2025-09-26 08:37:22,714 [256] [DEBUG] [app] Ending request: urn:request:d1700034-34a3-4ba8-b6c0-05799c2b3d67 (/v2/testorg2/alpine/blobs/uploads/8629f85e-09dc-4438-badc-a329b47ce248) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:d1700034-34a3-4ba8-b6c0-05799c2b3d67', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/8629f85e-09dc-4438-badc-a329b47ce248?digest=sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 'path': '/v2/testorg2/alpine/blobs/uploads/8629f85e-09dc-4438-badc-a329b47ce248', 'parameters': {'digest': 'sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:22,715 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:22,715 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:22,715 [256] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:22 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/8629f85e-09dc-4438-badc-a329b47ce248?digest=sha256%3A4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:22 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/8629f85e-09dc-4438-badc-a329b47ce248?digest=sha256%3A4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.231 1853 0.231) securityworker stdout | 2025-09-26 08:37:22,833 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "POST /indexer/api/v1/index_report HTTP/1.1" 201 None securityworker stdout | 2025-09-26 08:37:22,838 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."manifest_id", "t1"."repository_id", "t1"."index_status", "t1"."error_json", "t1"."last_indexed", "t1"."indexer_hash", "t1"."indexer_version", "t1"."metadata_json" FROM "manifestsecuritystatus" AS "t1" WHERE ("t1"."manifest_id" = %s) LIMIT %s OFFSET %s', [21, 1, 0]) securityworker stdout | 2025-09-26 08:37:22,842 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE ("t1"."manifest_id" = %s) LIMIT %s OFFSET %s', [21, 1, 0]) securityworker stdout | 2025-09-26 08:37:22,847 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:37:22,847 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/matcher/api/v1/vulnerability_report/sha256:17389a4a082a13cc17be63544e87b4a4de24f2e0dd1c8a6d5d31b16abcde9128 securityworker stdout | 2025-09-26 08:37:22,871 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /matcher/api/v1/vulnerability_report/sha256:17389a4a082a13cc17be63544e87b4a4de24f2e0dd1c8a6d5d31b16abcde9128 HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:37:22,876 [89] [DEBUG] [data.secscan_model.secscan_v4_model] Attempting to create notifications for manifest #21 securityworker stdout | 2025-09-26 08:37:22,876 [89] [DEBUG] [peewee] ('DELETE FROM "manifestsecuritystatus" WHERE ("manifestsecuritystatus"."manifest_id" = %s)', [21]) securityworker stdout | 2025-09-26 08:37:22,879 [89] [DEBUG] [peewee] ('INSERT INTO "manifestsecuritystatus" ("manifest_id", "repository_id", "index_status", "error_json", "last_indexed", "indexer_hash", "indexer_version", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifestsecuritystatus"."id"', [21, 3, 2, '""', datetime.datetime(2025, 9, 26, 8, 37, 22, 879010), '37b46b4a70b6f1a19d5e4e18d21f57ff', 4, '{}']) securityworker stdout | 2025-09-26 08:37:22,883 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [22, 1, 0]) securityworker stdout | 2025-09-26 08:37:22,888 [89] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 1, 0]) securityworker stdout | 2025-09-26 08:37:22,892 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['ce5fc8d5-c12b-4a84-967a-0f6bea58496f']) securityworker stdout | 2025-09-26 08:37:22,896 [89] [DEBUG] [boto3.resources.factory] Loading s3:Object securityworker stdout | 2025-09-26 08:37:22,897 [89] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7f614e757ec0> securityworker stdout | 2025-09-26 08:37:22,897 [89] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81'} securityworker stdout | 2025-09-26 08:37:22,897 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,897 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,897 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,897 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:22,897 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,898 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:22,898 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:22,898 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:22,898 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:22,898 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:22,898 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:22,898 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,898 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,898 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,898 [89] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} securityworker stdout | 2025-09-26 08:37:22,898 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:22,898 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:22,898 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,898 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,899 [89] [DEBUG] [botocore.auth] Calculating signature using v4 auth. securityworker stdout | 2025-09-26 08:37:22,899 [89] [DEBUG] [botocore.auth] CanonicalRequest: securityworker stdout | GET securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81 securityworker stdout | host:s3.openshift-storage.svc.cluster.local securityworker stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | x-amz-date:20250926T083722Z securityworker stdout | host;x-amz-content-sha256;x-amz-date securityworker stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | 2025-09-26 08:37:22,899 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | AWS4-HMAC-SHA256 securityworker stdout | 20250926T083722Z securityworker stdout | 20250926/us-east-1/s3/aws4_request securityworker stdout | 4951e4eb914d5ebf2cc9d76b6dd4a01eb49b3f5b5a76b3f9ae4d7cb90f8f5aa7 securityworker stdout | 2025-09-26 08:37:22,899 [89] [DEBUG] [botocore.auth] Signature: securityworker stdout | f06b27865f0ee7f58fbba3cffbac216c6d7ae85efb9fcd752e678e4506c5163a securityworker stdout | 2025-09-26 08:37:22,899 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,899 [89] [DEBUG] [botocore.endpoint] Sending http request: securityworker stdout | 2025-09-26 08:37:22,899 [89] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:22,903 [250] [DEBUG] [app] Starting request: urn:request:b9d355c9-46e4-4ff5-a361-c9f23673cc7b (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:22,903 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:22,903 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:22,903 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:22,904 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:22,904 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:22,904 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:22,904 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:22,904 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:22,906 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,910 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:22,912 [239] [DEBUG] [app] Starting request: urn:request:a13c6dab-1b3e-4261-93fa-b21854fd6fd4 (/) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:22,913 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) securityworker stdout | 2025-09-26 08:37:22,918 [89] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81 HTTP/1.1" 200 167 gunicorn-registry stdout | 2025-09-26 08:37:22,918 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) securityworker stdout | 2025-09-26 08:37:22,918 [89] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9i6s-14exup-swg', 'x-amz-id-2': 'mg0l9i6s-14exup-swg', 'ETag': '"e6f09d8ec158ded8e277b62cc0fa10cc-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:15 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '167', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:22 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} securityworker stdout | 2025-09-26 08:37:22,918 [89] [DEBUG] [botocore.parsers] Response body: securityworker stdout | securityworker stdout | 2025-09-26 08:37:22,919 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,919 [89] [DEBUG] [botocore.retryhandler] No retry needed. securityworker stdout | 2025-09-26 08:37:22,919 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:22,919 [89] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9i6s-14exup-swg', 'HostId': 'mg0l9i6s-14exup-swg', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9i6s-14exup-swg', 'x-amz-id-2': 'mg0l9i6s-14exup-swg', 'etag': '"e6f09d8ec158ded8e277b62cc0fa10cc-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:15 GMT', 'content-type': 'application/octet-stream', 'content-length': '167', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:22 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 15, tzinfo=tzutc()), 'ContentLength': 167, 'ETag': '"e6f09d8ec158ded8e277b62cc0fa10cc-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } securityworker stdout | 2025-09-26 08:37:22,925 [89] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "manifestblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [3, 'sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 1, 3, 'sha256:aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584', 1]) gunicorn-registry stdout | 2025-09-26 08:37:22,928 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) securityworker stdout | 2025-09-26 08:37:22,931 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['9b5465dc-b44b-4572-a7ad-66ba04cf0f73']) gunicorn-web stdout | 2025-09-26 08:37:22,931 [239] [DEBUG] [endpoints.api.discovery] Unable to find method for POST in class gunicorn-registry stdout | 2025-09-26 08:37:22,934 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) securityworker stdout | 2025-09-26 08:37:22,935 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."manifest_id", "t1"."repository_id", "t1"."index_status", "t1"."error_json", "t1"."last_indexed", "t1"."indexer_hash", "t1"."indexer_version", "t1"."metadata_json" FROM "manifestsecuritystatus" AS "t1" WHERE ("t1"."manifest_id" = %s)', [22]) gunicorn-registry stdout | 2025-09-26 08:37:22,938 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) securityworker stdout | 2025-09-26 08:37:22,938 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) securityworker stdout | 2025-09-26 08:37:22,942 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,943 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) securityworker stdout | 2025-09-26 08:37:22,945 [89] [DEBUG] [data.secscan_model.secscan_v4_model] Indexing manifest [22] 4/alpine@sha256:20ff073fde2f60c8ecb1101f047df66b940ad58a6ea918e128df7cd95c5c2dac securityworker stdout | 2025-09-26 08:37:22,946 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,946 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,946 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,946 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:22,946 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:22,946 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, '0b34ce77-7cda-4afc-9a6d-41338374c0b4', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 22, 946177)]) securityworker stdout | 2025-09-26 08:37:22,946 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:22,947 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:22,947 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:22,947 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:22,947 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:22,947 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:22,947 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:22,947 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,947 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:37:22,947 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:37:22,947 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876442 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584 gunicorn-web stdout | 2025-09-26 08:37:22,951 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-registry stdout | 2025-09-26 08:37:22,951 [250] [DEBUG] [app] Ending request: urn:request:b9d355c9-46e4-4ff5-a361-c9f23673cc7b (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:b9d355c9-46e4-4ff5-a361-c9f23673cc7b', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:22,951 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:22,951 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:22 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.050 1697 0.050) gunicorn-registry stdout | 2025-09-26 08:37:22,952 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:22 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" securityworker stdout | 2025-09-26 08:37:22,954 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EUXlMQ0pwWVhRaU9qRTNOVGc0TnpVNE5ESXNJbVY0Y0NJNk1UYzFPRGczTmpRME1pd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aFlpOWhZbUUyWXpjNE9EQTBORFZrTVdJNVpXTmtNemxsWldZeE0yVmhPR1JoTVdJeVlXUXlNRFZqTVRFeU0yVTBaR0ppT1RBek5qaGxOakkxWlRreU5UZzBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFWYTNCdmNqa3pORlU1VEVvMVNHNWhTakZJWm01RWMyZENkRVVsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRReUlpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAucmhjOGQ2V29WZXc1X1c5NDNrMWw4Qm16bWZzMEZ5cTBHVV9mSFdKd0w5MTUwaVpqZmpkYkkwMkg3YmhlS2dLaVpsclpBMzFvengwb1NUcG5LTTJfWnJiUjlmQThGTHFfdFd0UElyUEtYVnFzUzJPYmJ2RTZKbEN2eVVXX0VIb0RRbWFXd2VEU1lzVW5zNWRldWJ4dlFQUVpsMlJIWlNzQUJ0Q1RMaGx0cklOXzdOS1lsOWF0czRRQkNLWFZBUEZ5YkxJZ1JsUDAyNHpWQ2JvWFlUNG10Q21qUF9aYnNoOFNlX0JrRHlaMHVKZWpOdklDaDNKNklpQ05TRjQyX05qcmgtLWxJajkxN2FQMEtWbHFYT2E4TE1ab1QtR3FIcTBybDk1UDJLX2FERTdrNUQ5bkc3T0x5WmViTnNHZUpVeDN1S3NDWnVHMEQ4OGFVbWdSWnNGSmJn/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=Ukpor934U9LJ5HnaJ1HfnDsgBtE%3D&Expires=1758876442 securityworker stdout | 2025-09-26 08:37:22,954 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,955 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,955 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,955 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:22,955 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,955 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:22,955 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:22,955 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:22,955 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:22,955 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:22,955 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:22,955 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:22,955 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:22,955 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:37:22,955 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:37:22,956 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876442 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584 securityworker stdout | 2025-09-26 08:37:22,962 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EUXlMQ0pwWVhRaU9qRTNOVGc0TnpVNE5ESXNJbVY0Y0NJNk1UYzFPRGczTmpRME1pd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aFlpOWhZbUUyWXpjNE9EQTBORFZrTVdJNVpXTmtNemxsWldZeE0yVmhPR1JoTVdJeVlXUXlNRFZqTVRFeU0yVTBaR0ppT1RBek5qaGxOakkxWlRreU5UZzBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFWYTNCdmNqa3pORlU1VEVvMVNHNWhTakZJWm01RWMyZENkRVVsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRReUlpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAucmhjOGQ2V29WZXc1X1c5NDNrMWw4Qm16bWZzMEZ5cTBHVV9mSFdKd0w5MTUwaVpqZmpkYkkwMkg3YmhlS2dLaVpsclpBMzFvengwb1NUcG5LTTJfWnJiUjlmQThGTHFfdFd0UElyUEtYVnFzUzJPYmJ2RTZKbEN2eVVXX0VIb0RRbWFXd2VEU1lzVW5zNWRldWJ4dlFQUVpsMlJIWlNzQUJ0Q1RMaGx0cklOXzdOS1lsOWF0czRRQkNLWFZBUEZ5YkxJZ1JsUDAyNHpWQ2JvWFlUNG10Q21qUF9aYnNoOFNlX0JrRHlaMHVKZWpOdklDaDNKNklpQ05TRjQyX05qcmgtLWxJajkxN2FQMEtWbHFYT2E4TE1ab1QtR3FIcTBybDk1UDJLX2FERTdrNUQ5bkc3T0x5WmViTnNHZUpVeDN1S3NDWnVHMEQ4OGFVbWdSWnNGSmJn/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ab/aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=Ukpor934U9LJ5HnaJ1HfnDsgBtE%3D&Expires=1758876442 securityworker stdout | 2025-09-26 08:37:22,962 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:37:22,962 [89] [DEBUG] [util.secscan.v4.api] POSTing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_report gunicorn-web stdout | 2025-09-26 08:37:22,973 [239] [DEBUG] [app] Ending request: urn:request:a13c6dab-1b3e-4261-93fa-b21854fd6fd4 (/) {'endpoint': 'web.index', 'request_id': 'urn:request:a13c6dab-1b3e-4261-93fa-b21854fd6fd4', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/', 'path': '/', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:37:22,974 [239] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:22 +0000] "GET / HTTP/1.0" 200 91952 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:22 +0000] "GET / HTTP/1.1" 200 14100 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.064 2403 0.064) gunicorn-registry stdout | 2025-09-26 08:37:22,991 [250] [DEBUG] [app] Starting request: urn:request:ec866993-d803-40de-9381-82cf8c38a36d (/v2/testorg2/alpine/blobs/uploads/0b34ce77-7cda-4afc-9a6d-41338374c0b4) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:22,992 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '0b34ce77-7cda-4afc-9a6d-41338374c0b4', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:22,992 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:22,992 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:22,993 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:22,993 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:22,993 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:22,993 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:22,993 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:22,994 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:22,998 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,002 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,006 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,009 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,013 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,017 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,020 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:23,024 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0b34ce77-7cda-4afc-9a6d-41338374c0b4', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,028 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:23,028 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:23,028 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:23,029 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:23,029 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:23,029 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,029 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,029 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,029 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,029 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,029 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,029 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,029 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,029 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:23,029 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:23,029 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:23,029 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:23,030 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,030 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,030 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,030 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:23,030 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,030 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,030 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,030 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,030 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:23,030 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083723Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:23,030 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083723Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 86473dd23856a6ca79eaa645705f036b36f7e12756a12108ac2640374843c654 gunicorn-registry stdout | 2025-09-26 08:37:23,030 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 4ccd6395121a2cc470176cde2bd5fd3bf52906841cfd151b73efc674d3892a11 gunicorn-registry stdout | 2025-09-26 08:37:23,030 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,031 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:23,031 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:23,036 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:23,036 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9iag-3atez3-ixq', 'x-amz-id-2': 'mg0l9iag-3atez3-ixq', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:23 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:23,036 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f68d650c3d73ec60008f9355b' gunicorn-registry stdout | 2025-09-26 08:37:23,037 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,037 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:23,037 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,037 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9iag-3atez3-ixq', 'HostId': 'mg0l9iag-3atez3-ixq', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9iag-3atez3-ixq', 'x-amz-id-2': 'mg0l9iag-3atez3-ixq', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:23 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f', 'UploadId': '68d650c3d73ec60008f9355b'} gunicorn-registry stdout | 2025-09-26 08:37:23,037 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:23,038 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:23,038 [250] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:23,038 [250] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f', 'UploadId': '68d650c3d73ec60008f9355b', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc16f70>, 'ContentLength': 241} gunicorn-registry stdout | 2025-09-26 08:37:23,038 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,038 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,038 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,038 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,038 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,038 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,039 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,039 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,039 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:23,039 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:23,039 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:23,039 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:23,039 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,039 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,039 [250] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:23,039 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,039 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,039 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f', 'query_string': {'uploadId': '68d650c3d73ec60008f9355b', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '241', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'l08wHffmrIED91slTkL+Og==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc16f70>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f?uploadId=68d650c3d73ec60008f9355b&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f', 'UploadId': '68d650c3d73ec60008f9355b', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc16f70>, 'ContentLength': 241}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:23,039 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,039 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,039 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,039 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,040 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:23,040 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f gunicorn-registry stdout | partNumber=1&uploadId=68d650c3d73ec60008f9355b gunicorn-registry stdout | content-length:241 gunicorn-registry stdout | content-md5:l08wHffmrIED91slTkL+Og== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083723Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:23,040 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083723Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 9720b9759352ad255cdc499edbd301c5f5202efa0d7f0735196faafa50bf6cf9 gunicorn-registry stdout | 2025-09-26 08:37:23,040 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 7194560929cfa80e4662a5c3244bf9fa652868ff37d66d03f36f79ae31db7ffc gunicorn-registry stdout | 2025-09-26 08:37:23,040 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,040 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:23,040 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:23,041 [250] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:23,041 [250] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:23,104 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f?uploadId=68d650c3d73ec60008f9355b&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:23,105 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9iap-3gbti9-24p', 'x-amz-id-2': 'mg0l9iap-3gbti9-24p', 'ETag': '"974f301df7e6ac8103f75b254e42fe3a"', 'Date': 'Fri, 26 Sep 2025 08:37:23 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:23,105 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:23,105 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,105 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:23,105 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,105 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9iap-3gbti9-24p', 'HostId': 'mg0l9iap-3gbti9-24p', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9iap-3gbti9-24p', 'x-amz-id-2': 'mg0l9iap-3gbti9-24p', 'etag': '"974f301df7e6ac8103f75b254e42fe3a"', 'date': 'Fri, 26 Sep 2025 08:37:23 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"974f301df7e6ac8103f75b254e42fe3a"'} gunicorn-registry stdout | 2025-09-26 08:37:23,105 [250] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f', 'UploadId': '68d650c3d73ec60008f9355b', 'MultipartUpload': {'Parts': [{'ETag': '"974f301df7e6ac8103f75b254e42fe3a"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:23,105 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,106 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,106 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,106 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,106 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,106 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,106 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,106 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:23,106 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:23,106 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:23,106 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:23,106 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,106 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,106 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,106 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f', 'query_string': {'uploadId': '68d650c3d73ec60008f9355b'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"974f301df7e6ac8103f75b254e42fe3a"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f?uploadId=68d650c3d73ec60008f9355b', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f', 'UploadId': '68d650c3d73ec60008f9355b', 'MultipartUpload': {'Parts': [{'ETag': '"974f301df7e6ac8103f75b254e42fe3a"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:23,107 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,107 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,107 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,107 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,107 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:23,107 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f gunicorn-registry stdout | uploadId=68d650c3d73ec60008f9355b gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:1405a4726952b1b29520569eaa202a15fcca411f34be494c6e52a40060ede4d2 gunicorn-registry stdout | x-amz-date:20250926T083723Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 1405a4726952b1b29520569eaa202a15fcca411f34be494c6e52a40060ede4d2 gunicorn-registry stdout | 2025-09-26 08:37:23,107 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083723Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | e1f91c38c0f80f79c72591d53872c4854d887d6b94215efe5e336f125c20f908 gunicorn-registry stdout | 2025-09-26 08:37:23,107 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | c4b003f7bddfe856005c60aef04a5d52c0df499a1ead1866dfedd8c857fd260f gunicorn-registry stdout | 2025-09-26 08:37:23,107 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,107 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:23,107 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:23,123 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f?uploadId=68d650c3d73ec60008f9355b HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:23,123 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9icl-4koh3g-bti', 'x-amz-id-2': 'mg0l9icl-4koh3g-bti', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:23 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:23,124 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f"f365106852a41e8065779a8ff564fba9-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f?uploadId=68d650c3d73ec60008f9355b' gunicorn-registry stdout | 2025-09-26 08:37:23,124 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,124 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,124 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:23,124 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,124 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9icl-4koh3g-bti', 'HostId': 'mg0l9icl-4koh3g-bti', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9icl-4koh3g-bti', 'x-amz-id-2': 'mg0l9icl-4koh3g-bti', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:23 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f?uploadId=68d650c3d73ec60008f9355b', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f', 'ETag': '"f365106852a41e8065779a8ff564fba9-1"'} gunicorn-registry stdout | 2025-09-26 08:37:23,124 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:23,126 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:23,126 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 241 bytes to blob 0b34ce77-7cda-4afc-9a6d-41338374c0b4 took 0.09823417663574219 seconds gunicorn-registry stdout | 2025-09-26 08:37:23,127 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0b34ce77-7cda-4afc-9a6d-41338374c0b4', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,131 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '0b34ce77-7cda-4afc-9a6d-41338374c0b4', 241, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwZTM3YTAxYmQwNTVjNmVjNDhmODhmMmViZDZmYzdhNGMyMGNkMGJiZTg0ZDU4Il19fWNhNDM4YmEwY2Y1NjU4YzEAAAAAAAAAAAYAAAAAAACcThTBC0A9EslKRSoJQPgGIGvaiP5eMZslO3CBMEmaeZRiLg==', 9, '{"chunks": [["uploads/7bbddfed-fbce-477d-8fad-06687ce9509f", 0, 241]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 22, 946177), None, None, 65]) gunicorn-registry stdout | 2025-09-26 08:37:23,136 [250] [DEBUG] [app] Ending request: urn:request:ec866993-d803-40de-9381-82cf8c38a36d (/v2/testorg2/alpine/blobs/uploads/0b34ce77-7cda-4afc-9a6d-41338374c0b4) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:ec866993-d803-40de-9381-82cf8c38a36d', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/0b34ce77-7cda-4afc-9a6d-41338374c0b4', 'path': '/v2/testorg2/alpine/blobs/uploads/0b34ce77-7cda-4afc-9a6d-41338374c0b4', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:23,136 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:23,137 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:23,137 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:23 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/0b34ce77-7cda-4afc-9a6d-41338374c0b4 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:23 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/0b34ce77-7cda-4afc-9a6d-41338374c0b4 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.146 2017 0.146) storagereplication stdout | 2025-09-26 08:37:23,139 [95] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'storagereplication.py', 'pid': '95'} repositorygcworker stdout | 2025-09-26 08:37:23,149 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:37:23,149 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:39.235682+00:00 (in 16.086068 seconds) repositorygcworker stdout | 2025-09-26 08:37:23,149 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:23 GMT)" (scheduled at 2025-09-26 08:37:23.149141+00:00) repositorygcworker stdout | 2025-09-26 08:37:23,149 [86] [DEBUG] [workers.queueworker] Getting work item from queue. repositorygcworker stdout | 2025-09-26 08:37:23,150 [86] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 37, 23, 150005), True, datetime.datetime(2025, 9, 26, 8, 37, 23, 150005), 0, 'repositorygc/%', 50, 1, 0]) repositorygcworker stdout | 2025-09-26 08:37:23,165 [86] [DEBUG] [workers.queueworker] No more work. repositorygcworker stdout | 2025-09-26 08:37:23,165 [86] [DEBUG] [data.database] Disconnecting from database. repositorygcworker stdout | 2025-09-26 08:37:23,166 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:23 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:37:23,177 [255] [DEBUG] [app] Starting request: urn:request:7111152b-9cce-47c0-a08c-e07a8510b6c7 (/v2/testorg2/alpine/blobs/uploads/0b34ce77-7cda-4afc-9a6d-41338374c0b4) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:23,177 [255] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '0b34ce77-7cda-4afc-9a6d-41338374c0b4', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:23,178 [255] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:23,178 [255] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:23,179 [255] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:23,179 [255] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:23,179 [255] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:23,179 [255] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:23,179 [255] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:23,180 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,184 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,187 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,191 [255] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,195 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,198 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,202 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,206 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:23,210 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0b34ce77-7cda-4afc-9a6d-41338374c0b4', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,213 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:23,213 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:23,214 [255] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:23,215 [255] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:23,215 [255] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b49f216f-571e-4007-b5da-51c1acc00b0c', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:23,215 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,215 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,215 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,216 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,216 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,216 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,216 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,216 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,216 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:23,216 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:23,216 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:23,216 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:23,216 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,216 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,216 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,216 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/b49f216f-571e-4007-b5da-51c1acc00b0c?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b49f216f-571e-4007-b5da-51c1acc00b0c', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b49f216f-571e-4007-b5da-51c1acc00b0c?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b49f216f-571e-4007-b5da-51c1acc00b0c', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:23,216 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,216 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,216 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,216 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,217 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:23,217 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b49f216f-571e-4007-b5da-51c1acc00b0c gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083723Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:23,217 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083723Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | b55297ee059268be9dba59ce3b70da8d557f73f12eaf70110e550a5e786d2177 gunicorn-registry stdout | 2025-09-26 08:37:23,217 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 023f25e6e72747777270a4a798abe318fecc64ebf31e4c004da1aa7a4f22171e gunicorn-registry stdout | 2025-09-26 08:37:23,217 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,217 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:23,217 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:23,222 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b49f216f-571e-4007-b5da-51c1acc00b0c?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:23,223 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ifm-6dnxbx-oae', 'x-amz-id-2': 'mg0l9ifm-6dnxbx-oae', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:23 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:23,223 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/b49f216f-571e-4007-b5da-51c1acc00b0c68d650c3d73ec60008f93561' gunicorn-registry stdout | 2025-09-26 08:37:23,223 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,223 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:23,223 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,223 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9ifm-6dnxbx-oae', 'HostId': 'mg0l9ifm-6dnxbx-oae', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ifm-6dnxbx-oae', 'x-amz-id-2': 'mg0l9ifm-6dnxbx-oae', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:23 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b49f216f-571e-4007-b5da-51c1acc00b0c', 'UploadId': '68d650c3d73ec60008f93561'} gunicorn-registry stdout | 2025-09-26 08:37:23,223 [255] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:23,224 [255] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b49f216f-571e-4007-b5da-51c1acc00b0c', 'UploadId': '68d650c3d73ec60008f93561'} gunicorn-registry stdout | 2025-09-26 08:37:23,224 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,224 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,224 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,224 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,224 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,224 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,224 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:23,225 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:23,225 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:23,225 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:23,225 [255] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,225 [255] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,225 [255] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,225 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/b49f216f-571e-4007-b5da-51c1acc00b0c', 'query_string': {'uploadId': '68d650c3d73ec60008f93561'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b49f216f-571e-4007-b5da-51c1acc00b0c', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b49f216f-571e-4007-b5da-51c1acc00b0c?uploadId=68d650c3d73ec60008f93561', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b49f216f-571e-4007-b5da-51c1acc00b0c', 'UploadId': '68d650c3d73ec60008f93561'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:23,225 [255] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,225 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,225 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,225 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,226 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:23,226 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b49f216f-571e-4007-b5da-51c1acc00b0c gunicorn-registry stdout | uploadId=68d650c3d73ec60008f93561 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083723Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:23,226 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083723Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 61306dd9223272c711e9a291bd5e9bc79c18ee45ae6998d522d37447efd32677 gunicorn-registry stdout | 2025-09-26 08:37:23,226 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | e042bccf972adec24b5705afa824c6465f65000b126fe2fceb2ce05c8610da22 gunicorn-registry stdout | 2025-09-26 08:37:23,226 [255] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,226 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:23,226 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:23,232 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b49f216f-571e-4007-b5da-51c1acc00b0c?uploadId=68d650c3d73ec60008f93561 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:23,233 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ifv-6j1x6j-una', 'x-amz-id-2': 'mg0l9ifv-6j1x6j-una', 'Date': 'Fri, 26 Sep 2025 08:37:23 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:23,233 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:23,233 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,233 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:23,233 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,233 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9ifv-6j1x6j-una', 'HostId': 'mg0l9ifv-6j1x6j-una', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ifv-6j1x6j-una', 'x-amz-id-2': 'mg0l9ifv-6j1x6j-una', 'date': 'Fri, 26 Sep 2025 08:37:23 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:23,233 [255] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 0b34ce77-7cda-4afc-9a6d-41338374c0b4 took 0.0195772647857666 seconds gunicorn-registry stdout | 2025-09-26 08:37:23,234 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0b34ce77-7cda-4afc-9a6d-41338374c0b4', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,238 [255] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '0b34ce77-7cda-4afc-9a6d-41338374c0b4', 241, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwZTM3YTAxYmQwNTVjNmVjNDhmODhmMmViZDZmYzdhNGMyMGNkMGJiZTg0ZDU4Il19fWNhNDM4YmEwY2Y1NjU4YzEAAAAAAAAAAAYAAAAAAACcThTBC0A9EslKRSoJQPgGIGvaiP5eMZslO3CBMEmaeZRiLg==', 9, '{"chunks": [["uploads/7bbddfed-fbce-477d-8fad-06687ce9509f", 0, 241]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 22, 946177), None, None, 65]) gunicorn-registry stdout | 2025-09-26 08:37:23,242 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:23,242 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:23,243 [255] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:23,244 [255] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:23,244 [255] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a'} gunicorn-registry stdout | 2025-09-26 08:37:23,244 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,244 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,244 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,244 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,244 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,244 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,244 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,245 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:23,245 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:23,245 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:23,245 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:23,246 [255] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,246 [255] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,246 [255] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,246 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:23,246 [255] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,246 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,246 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,246 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,247 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:23,247 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083723Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:23,247 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083723Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 773a76d18b0c1dff604a5a6dbca59323b70a82b066188d56e228b6fd5925e721 gunicorn-registry stdout | 2025-09-26 08:37:23,247 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | f0c90cfbe1b4aa46acbb82b1f17068b19839e68fc1956597e78ce7fc81780de2 gunicorn-registry stdout | 2025-09-26 08:37:23,247 [255] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,247 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:23,247 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:23,253 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:23,253 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9igh-6vvs0s-1e3u', 'x-amz-id-2': 'mg0l9igh-6vvs0s-1e3u', 'Content-Type': 'application/xml', 'Content-Length': '339', 'Date': 'Fri, 26 Sep 2025 08:37:23 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:23,253 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:23,253 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,253 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:23,253 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,253 [255] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:23,254 [255] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:23,254 [255] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a gunicorn-registry stdout | 2025-09-26 08:37:23,254 [255] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:23,255 [255] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:23,255 [255] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:23,255 [255] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:23,255 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,255 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,255 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,255 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,255 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,256 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,256 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,256 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:23,256 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:23,256 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:23,256 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:23,256 [255] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,256 [255] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,256 [255] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,256 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:23,257 [255] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,257 [255] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,257 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,257 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,257 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,257 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:23,257 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083723Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:23,257 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083723Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | a98329ff6628eed7322694d29ee4a9072b6f419533f79c30b237509a30409b55 gunicorn-registry stdout | 2025-09-26 08:37:23,257 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 0a0bfacb64409cca2e9c33f0badd0283ef9e598709d24a98b730db0ded72aee2 gunicorn-registry stdout | 2025-09-26 08:37:23,258 [255] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,258 [255] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,258 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:23,258 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:23,259 [255] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:37:23,325 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:23,325 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9iih-8341tl-b9q', 'x-amz-id-2': 'mg0l9iih-8341tl-b9q', 'ETag': '"f365106852a41e8065779a8ff564fba9-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:23 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:23 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:23,325 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:23,326 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,326 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:23,326 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,326 [255] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:23,326 [255] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:23,327 [255] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:23,327 [255] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:23,327 [255] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'extra_args': {}, 'callbacks': [], 'size': 241} gunicorn-registry stdout | 2025-09-26 08:37:23,327 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,327 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,327 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,327 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,327 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,327 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,327 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,327 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,327 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,327 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,328 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:23,328 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:23,328 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:23,328 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:23,328 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,328 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,328 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,328 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:23,328 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,328 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,329 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,329 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,329 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,329 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:23,329 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7bbddfed-fbce-477d-8fad-06687ce9509f gunicorn-registry stdout | x-amz-date:20250926T083723Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:23,329 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083723Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 49df953fcd58bb63139dd7e7ee64dea4404be3197875906af22b6e05966ef4a6 gunicorn-registry stdout | 2025-09-26 08:37:23,329 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | c511a624145917ae79f0410f777cc389cdae78d94c467847d84755b6ab2caeac gunicorn-registry stdout | 2025-09-26 08:37:23,329 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,329 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,329 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:23,330 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:23,330 [255] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:23,358 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:23,358 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9iir-88sifl-3k0', 'x-amz-id-2': 'mg0l9iir-88sifl-3k0', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:23 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:23,358 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:23.000Z"f365106852a41e8065779a8ff564fba9-1"' gunicorn-registry stdout | 2025-09-26 08:37:23,359 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,359 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,359 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:23,359 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,359 [255] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:23,360 [255] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 0b34ce77-7cda-4afc-9a6d-41338374c0b4 with digest sha256:6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a took 0.1062922477722168 seconds gunicorn-registry stdout | 2025-09-26 08:37:23,361 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0b34ce77-7cda-4afc-9a6d-41338374c0b4', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,364 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,367 [255] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['c705e5dd-768e-4128-887d-9ce54ffcf4e5', 241, None, True, True, 'sha256:6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a']) gunicorn-registry stdout | 2025-09-26 08:37:23,370 [255] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [66, 9]) gunicorn-registry stdout | 2025-09-26 08:37:23,372 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,375 [255] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 66, datetime.datetime(2025, 9, 26, 8, 37, 23, 375319), datetime.datetime(2025, 9, 26, 9, 37, 23, 375296)]) gunicorn-registry stdout | 2025-09-26 08:37:23,377 [255] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [65]) gunicorn-registry stdout | 2025-09-26 08:37:23,381 [255] [DEBUG] [app] Ending request: urn:request:7111152b-9cce-47c0-a08c-e07a8510b6c7 (/v2/testorg2/alpine/blobs/uploads/0b34ce77-7cda-4afc-9a6d-41338374c0b4) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:7111152b-9cce-47c0-a08c-e07a8510b6c7', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/0b34ce77-7cda-4afc-9a6d-41338374c0b4?digest=sha256:6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'path': '/v2/testorg2/alpine/blobs/uploads/0b34ce77-7cda-4afc-9a6d-41338374c0b4', 'parameters': {'digest': 'sha256:6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:23,381 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:23,381 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:23,382 [255] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:23 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/0b34ce77-7cda-4afc-9a6d-41338374c0b4?digest=sha256%3A6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:23 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/0b34ce77-7cda-4afc-9a6d-41338374c0b4?digest=sha256%3A6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.206 1853 0.206) gunicorn-web stdout | 2025-09-26 08:37:23,412 [241] [DEBUG] [app] Starting request: urn:request:9ccc66f6-251d-44aa-b1d6-6e506b66c582 (/api/v1/user/apptoken) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:37:23,413 [241] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:23,413 [241] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:23,414 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) securityworker stdout | 2025-09-26 08:37:23,418 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "POST /indexer/api/v1/index_report HTTP/1.1" 400 None securityworker stdout | 2025-09-26 08:37:23,418 [89] [ERROR] [util.secscan.v4.api] Security scanner endpoint responded with 400 HTTP status code: {"code":"bad-request","message":"failed to start scan: failed to fetch layers: fetcher: encountered errors: claircore: layer sha256:aba6c7880445d1b9ecd39eef13ea8da1b2ad205c1123e4dbb90368e625e92584: unable to create fs.FS: tarfs: error finding segments: bad block at 0: got magic \"\\\"name\\\"\""} securityworker stdout | NoneType: None securityworker stdout | 2025-09-26 08:37:23,419 [89] [DEBUG] [peewee] ('DELETE FROM "manifestsecuritystatus" WHERE (("manifestsecuritystatus"."manifest_id" = %s) AND ("manifestsecuritystatus"."repository_id" = %s))', [22, 3]) securityworker stdout | 2025-09-26 08:37:23,422 [89] [DEBUG] [peewee] ('INSERT INTO "manifestsecuritystatus" ("manifest_id", "repository_id", "index_status", "error_json", "last_indexed", "indexer_hash", "indexer_version", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifestsecuritystatus"."id"', [22, 3, -2, '{}', datetime.datetime(2025, 9, 26, 8, 37, 23, 421563), 'none', 4, '{}']) securityworker stdout | 2025-09-26 08:37:23,425 [89] [ERROR] [data.secscan_model.secscan_v4_model] Failed to perform indexing, invalid content sent securityworker stdout | Traceback (most recent call last): securityworker stdout | File "/quay-registry/util/secscan/v4/api.py", line 257, in index securityworker stdout | resp = self._perform(actions["Index"](body)) securityworker stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ securityworker stdout | File "/quay-registry/util/secscan/v4/api.py", line 362, in _perform securityworker stdout | raise BadRequestResponseException(resp) securityworker stdout | util.secscan.v4.api.BadRequestResponseException securityworker stdout | During handling of the above exception, another exception occurred: securityworker stdout | Traceback (most recent call last): securityworker stdout | File "/quay-registry/data/secscan_model/secscan_v4_model.py", line 419, in _index securityworker stdout | (report, state) = self._secscan_api.index(manifest, layers) securityworker stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ securityworker stdout | File "/quay-registry/util/secscan/v4/api.py", line 259, in index securityworker stdout | raise InvalidContentSent(ex) securityworker stdout | util.secscan.v4.api.InvalidContentSent securityworker stdout | 2025-09-26 08:37:23,427 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [23, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:23,428 [241] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:37:23,429 [241] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:37:23,429 [241] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:23,429 [241] [DEBUG] [endpoints.api] Checking permission for user quay gunicorn-web stdout | 2025-09-26 08:37:23,429 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:23,429 [241] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:23,429 [241] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:23,429 [241] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:23,430 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."user_id", "t1"."uuid", "t1"."title", "t1"."token_name", "t1"."token_secret", "t1"."created", "t1"."expiration", "t1"."last_accessed" FROM "appspecificauthtoken" AS "t1" WHERE ((("t1"."user_id" = %s) AND ("t1"."expiration" <= %s)) AND ("t1"."expiration" > %s))', [1, datetime.datetime(2025, 9, 29, 3, 49, 23, 430224), datetime.datetime(2025, 9, 26, 8, 37, 23, 430295)]) securityworker stdout | 2025-09-26 08:37:23,432 [89] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c', 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:23,434 [241] [DEBUG] [app] Ending request: urn:request:9ccc66f6-251d-44aa-b1d6-6e506b66c582 (/api/v1/user/apptoken) {'endpoint': 'api.apptokens', 'request_id': 'urn:request:9ccc66f6-251d-44aa-b1d6-6e506b66c582', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/user/apptoken?expiring=true', 'path': '/api/v1/user/apptoken', 'parameters': {'expiring': 'true'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:37:23,435 [241] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:23 +0000] "GET /api/v1/user/apptoken?expiring=true HTTP/1.1" 200 38 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.026 2392 0.026) gunicorn-registry stdout | 2025-09-26 08:37:23,435 [256] [DEBUG] [app] Starting request: urn:request:78150c12-ab7a-4cdb-a278-80921a8688ae (/v2/testorg2/alpine/manifests/sha256:9c8d97ecfb803aa789985856077ccd4fede4b34fbd1e712e0e9cdc208565332e) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:23,436 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:9c8d97ecfb803aa789985856077ccd4fede4b34fbd1e712e0e9cdc208565332e', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:23,436 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:23,437 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-web stdout | 2025-09-26 08:37:23,436 [241] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:23 +0000] "GET /api/v1/user/apptoken?expiring=true HTTP/1.0" 200 38 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-registry stdout | 2025-09-26 08:37:23,438 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:23,438 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:23,438 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:23,438 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:23,438 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine securityworker stdout | 2025-09-26 08:37:23,439 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['4225f69b-0f67-49b8-b880-b3e74cd339d9']) gunicorn-registry stdout | 2025-09-26 08:37:23,442 [256] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:23,442 [256] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:23,443 [256] [DEBUG] [data.cache.impl] Found result in cache for key repository_lookup_testorg2_alpine: {'id': 3, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': 0, 'namespace_user': {'stripe_id': None}} securityworker stdout | 2025-09-26 08:37:23,443 [89] [DEBUG] [boto3.resources.factory] Loading s3:Object securityworker stdout | 2025-09-26 08:37:23,444 [89] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7f614e757ec0> securityworker stdout | 2025-09-26 08:37:23,444 [89] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c'} securityworker stdout | 2025-09-26 08:37:23,444 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,444 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:9c8d97ecfb803aa789985856077ccd4fede4b34fbd1e712e0e9cdc208565332e', 1, 0]) securityworker stdout | 2025-09-26 08:37:23,444 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,444 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,444 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:23,444 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,444 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:23,444 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:23,444 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:23,444 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:23,445 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:23,445 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:23,445 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,445 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,445 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,445 [89] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} securityworker stdout | 2025-09-26 08:37:23,445 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:23,445 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:23,445 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,445 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,445 [89] [DEBUG] [botocore.auth] Calculating signature using v4 auth. securityworker stdout | 2025-09-26 08:37:23,446 [89] [DEBUG] [botocore.auth] CanonicalRequest: securityworker stdout | GET securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c securityworker stdout | host:s3.openshift-storage.svc.cluster.local securityworker stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | x-amz-date:20250926T083723Z securityworker stdout | host;x-amz-content-sha256;x-amz-date securityworker stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | 2025-09-26 08:37:23,446 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | AWS4-HMAC-SHA256 securityworker stdout | 20250926T083723Z securityworker stdout | 20250926/us-east-1/s3/aws4_request securityworker stdout | 912b92b978030abbb69a343a4ca750d3643412a925a22958e60e715c6eedb292 securityworker stdout | 2025-09-26 08:37:23,446 [89] [DEBUG] [botocore.auth] Signature: securityworker stdout | d7e5f02c705133e7328ce4564e5ec419ea24da303b4bf089a6cc6dd72fe3d251 securityworker stdout | 2025-09-26 08:37:23,446 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,446 [89] [DEBUG] [botocore.endpoint] Sending http request: securityworker stdout | 2025-09-26 08:37:23,446 [89] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:23,451 [256] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL ((SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1") UNION ALL (SELECT * FROM (SELECT "t5"."id", "t5"."content_checksum", "t5"."image_size", "t5"."uuid", "t5"."cas_path", "t5"."uncompressed_size" FROM "imagestorage" AS "t5" INNER JOIN "uploadedblob" AS "t6" ON ("t6"."blob_id" = "t5"."id") WHERE (("t6"."repository_id" = %s) AND ("t5"."content_checksum" = %s)) LIMIT %s) AS "q2"))', [3, 'sha256:6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 1, 3, 'sha256:c03aca438ba0cf5658ce37a01bd055c6ec48f88f2ebd6fc7a4c20cd0bbe84d58', 1, 3, 'sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 1]) gunicorn-registry stdout | 2025-09-26 08:37:23,455 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:9c8d97ecfb803aa789985856077ccd4fede4b34fbd1e712e0e9cdc208565332e', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,459 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "mediatype" AS "t1"', []) securityworker stdout | 2025-09-26 08:37:23,461 [89] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c HTTP/1.1" 200 593 securityworker stdout | 2025-09-26 08:37:23,461 [89] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ilz-a63xon-15ih', 'x-amz-id-2': 'mg0l9ilz-a63xon-15ih', 'ETag': '"189fa31f0a77a5767964ce4630e61481-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:17 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '593', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:23 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} securityworker stdout | 2025-09-26 08:37:23,461 [89] [DEBUG] [botocore.parsers] Response body: securityworker stdout | securityworker stdout | 2025-09-26 08:37:23,462 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,462 [89] [DEBUG] [botocore.retryhandler] No retry needed. securityworker stdout | 2025-09-26 08:37:23,462 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:23,462 [89] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9ilz-a63xon-15ih', 'HostId': 'mg0l9ilz-a63xon-15ih', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ilz-a63xon-15ih', 'x-amz-id-2': 'mg0l9ilz-a63xon-15ih', 'etag': '"189fa31f0a77a5767964ce4630e61481-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:17 GMT', 'content-type': 'application/octet-stream', 'content-length': '593', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:23 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 17, tzinfo=tzutc()), 'ContentLength': 593, 'ETag': '"189fa31f0a77a5767964ce4630e61481-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:23,463 [256] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [3, 'sha256:9c8d97ecfb803aa789985856077ccd4fede4b34fbd1e712e0e9cdc208565332e', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a",\n "size": 241\n },\n "layers": [\n {\n "mediaType": "application/vnd.in-toto+json",\n "digest": "sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b",\n "size": 81012,\n "annotations": {\n "in-toto.io/predicate-type": "https://spdx.dev/Document"\n }\n },\n {\n "mediaType": "application/vnd.in-toto+json",\n "digest": "sha256:c03aca438ba0cf5658ce37a01bd055c6ec48f88f2ebd6fc7a4c20cd0bbe84d58",\n "size": 5748,\n "annotations": {\n "in-toto.io/predicate-type": "https://slsa.dev/provenance/v0.2"\n }\n }\n ]\n}', 'application/vnd.oci.image.config.v1+json', 86760, None, True, None, True]) securityworker stdout | 2025-09-26 08:37:23,465 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,465 [256] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [3, 26, 64, 3, 26, 65, 3, 26, 66]) gunicorn-registry stdout | 2025-09-26 08:37:23,468 [256] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,469 [256] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [4, 1]) securityworker stdout | 2025-09-26 08:37:23,470 [89] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "manifestblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [3, 'sha256:8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c', 1, 3, 'sha256:5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5', 1]) gunicorn-registry stdout | 2025-09-26 08:37:23,471 [256] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 66, 26, 1]) gunicorn-registry stdout | 2025-09-26 08:37:23,473 [256] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 64, 26, 1]) securityworker stdout | 2025-09-26 08:37:23,474 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['cc0e4b2e-4918-4fe9-abb7-594c5ba18749']) gunicorn-registry stdout | 2025-09-26 08:37:23,475 [256] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 65, 26, 1]) gunicorn-registry stdout | 2025-09-26 08:37:23,476 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,477 [256] [INFO] [data.model.quota] updating namespace size for manifest 26 in namespace 4, QuotaOperation.ADD 87001 gunicorn-registry stdout | 2025-09-26 08:37:23,478 [256] [DEBUG] [peewee] ('UPDATE "quotanamespacesize" SET "size_bytes" = ("quotanamespacesize"."size_bytes" + %s) WHERE ("quotanamespacesize"."namespace_user_id" = %s)', [87001, 4]) securityworker stdout | 2025-09-26 08:37:23,478 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['6d9afe7c-4cd4-46e0-8000-0876c9384bb4']) gunicorn-registry stdout | 2025-09-26 08:37:23,479 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,480 [256] [INFO] [data.model.quota] updating repository size for manifest 26 in repository 3, QuotaOperation.ADD 87001 gunicorn-registry stdout | 2025-09-26 08:37:23,481 [256] [DEBUG] [peewee] ('UPDATE "quotarepositorysize" SET "size_bytes" = ("quotarepositorysize"."size_bytes" + %s) WHERE ("quotarepositorysize"."repository_id" = %s)', [87001, 3]) gunicorn-registry stdout | 2025-09-26 08:37:23,482 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [26, None, 1758879443482, 1, 0]) securityworker stdout | 2025-09-26 08:37:23,483 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."manifest_id", "t1"."repository_id", "t1"."index_status", "t1"."error_json", "t1"."last_indexed", "t1"."indexer_hash", "t1"."indexer_version", "t1"."metadata_json" FROM "manifestsecuritystatus" AS "t1" WHERE ("t1"."manifest_id" = %s)', [23]) gunicorn-registry stdout | 2025-09-26 08:37:23,485 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "tagkind" AS "t1"', []) securityworker stdout | 2025-09-26 08:37:23,487 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,487 [256] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-f6df1092-2e00-42ef-b270-9acb10277e91', 3, 26, 1758875843482, 1758879443482, False, True, False, 1]) securityworker stdout | 2025-09-26 08:37:23,491 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,492 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 1, 0]) securityworker stdout | 2025-09-26 08:37:23,495 [89] [DEBUG] [data.secscan_model.secscan_v4_model] Indexing manifest [23] 4/alpine@sha256:9a00b501930d225081164db0456189ebc25b9c7524989c38f4d77c0a96a9ca9a securityworker stdout | 2025-09-26 08:37:23,495 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,495 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,495 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,495 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:23,495 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,495 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:23,495 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:23,495 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:23,495 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:23,495 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:23,495 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:23,496 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:23,496 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,496 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['c705e5dd-768e-4128-887d-9ce54ffcf4e5']) securityworker stdout | 2025-09-26 08:37:23,496 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:37:23,496 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:37:23,496 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876443 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5e/5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5 gunicorn-registry stdout | 2025-09-26 08:37:23,500 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:23,501 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:23,502 [256] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a'} gunicorn-registry stdout | 2025-09-26 08:37:23,502 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,502 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,502 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,502 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,502 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,503 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,503 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,503 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:23,503 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:23,503 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:23,503 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:23,503 [256] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,503 [256] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,503 [256] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,503 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:23,504 [256] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,504 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,504 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,504 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,504 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:23,504 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083723Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:23,505 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083723Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | e3902c8ea3c5b30ca0472b4400315f36024c44f7f07ed836fb13e76c65fcaa86 gunicorn-registry stdout | 2025-09-26 08:37:23,505 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 4ec09180b91bf63ca09ad51dd4ac564fab801e62a049f58e53128fa7af0187b7 gunicorn-registry stdout | 2025-09-26 08:37:23,505 [256] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,505 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:23,505 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem securityworker stdout | 2025-09-26 08:37:23,505 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EUXpMQ0pwWVhRaU9qRTNOVGc0TnpVNE5ETXNJbVY0Y0NJNk1UYzFPRGczTmpRME15d2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4MVpTODFaV1V3TmpSbU9EYzJOR0l3T1dFMk5EZ3lPV0kxT0Rjd05USXhPV0U0T0dVd1lqRXpNalF6WmpkbU5EQXpaRFkyWVdNd1l6WXpPVFkwTURReU5tRTFQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFxTmxObFdpVXlRbWMzYVROaVpXZG5ZVXRZWVROdlNtUm9UM0JpWnlVelJDWkZlSEJwY21WelBURTNOVGc0TnpZME5ETWlMQ0pvYjNOMElqb2ljek11YjNCbGJuTm9hV1owTFhOMGIzSmhaMlV1YzNaakxtTnNkWE4wWlhJdWJHOWpZV3c2TkRReklpd2ljMk5vWlcxbElqb2lhSFIwY0hNaWZWMHNJbU52Ym5SbGVIUWlPbnQ5ZlEuZW1vWHpoaHdqa053M0l3TVJSZXJhcU5aVEJKLVN6OVpvM3RaWm1RdVljWlFzbWU5QmdhbWR3NVJYOWF4YlQ1V1VjTGdyWnpRandRcl85WmF6cjd5WGtsUkZfX2VqaFA4REIyNjVsTWFOZThLcEtHcndhaHpUYjJvMU9WUjFEUHQ3YldTTi1ISWdBcC02eXVUUjV6OV9BMlRETlBYRWhkemFTOWlRck9EcjdiX0Z0QUlLWE9KeU0tOTRHQzJrTGs3d0g4SlgtbzJaX19GbW5MaTVjUmpuc3NWc1VOd1EwcExPbm8zOW5iQnRUaHBoQndrVDZ5ZmVZb3BFVGk4WEdzR01OT0d3NEEwZmRNMXYxQ1dGZmZzUUpUQzJVMW0yUEhtUE9SLVF5VWVMRE1UcGpwRHNDLU55RlctS2o1VmdpU1dpRkRqOVZvS3BwczBxSkQtbjN3N3BR/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5e/5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=j6SeZ%2Bg7i3beggaKXa3oJdhOpbg%3D&Expires=1758876443 securityworker stdout | 2025-09-26 08:37:23,505 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,505 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,505 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,505 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:23,505 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,505 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:23,505 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:23,505 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:23,505 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:23,505 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:23,505 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:23,505 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:23,506 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,506 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:37:23,506 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:37:23,506 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876443 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5e/5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5 securityworker stdout | 2025-09-26 08:37:23,514 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EUXpMQ0pwWVhRaU9qRTNOVGc0TnpVNE5ETXNJbVY0Y0NJNk1UYzFPRGczTmpRME15d2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4MVpTODFaV1V3TmpSbU9EYzJOR0l3T1dFMk5EZ3lPV0kxT0Rjd05USXhPV0U0T0dVd1lqRXpNalF6WmpkbU5EQXpaRFkyWVdNd1l6WXpPVFkwTURReU5tRTFQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFxTmxObFdpVXlRbWMzYVROaVpXZG5ZVXRZWVROdlNtUm9UM0JpWnlVelJDWkZlSEJwY21WelBURTNOVGc0TnpZME5ETWlMQ0pvYjNOMElqb2ljek11YjNCbGJuTm9hV1owTFhOMGIzSmhaMlV1YzNaakxtTnNkWE4wWlhJdWJHOWpZV3c2TkRReklpd2ljMk5vWlcxbElqb2lhSFIwY0hNaWZWMHNJbU52Ym5SbGVIUWlPbnQ5ZlEuZW1vWHpoaHdqa053M0l3TVJSZXJhcU5aVEJKLVN6OVpvM3RaWm1RdVljWlFzbWU5QmdhbWR3NVJYOWF4YlQ1V1VjTGdyWnpRandRcl85WmF6cjd5WGtsUkZfX2VqaFA4REIyNjVsTWFOZThLcEtHcndhaHpUYjJvMU9WUjFEUHQ3YldTTi1ISWdBcC02eXVUUjV6OV9BMlRETlBYRWhkemFTOWlRck9EcjdiX0Z0QUlLWE9KeU0tOTRHQzJrTGs3d0g4SlgtbzJaX19GbW5MaTVjUmpuc3NWc1VOd1EwcExPbm8zOW5iQnRUaHBoQndrVDZ5ZmVZb3BFVGk4WEdzR01OT0d3NEEwZmRNMXYxQ1dGZmZzUUpUQzJVMW0yUEhtUE9SLVF5VWVMRE1UcGpwRHNDLU55RlctS2o1VmdpU1dpRkRqOVZvS3BwczBxSkQtbjN3N3BR/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5e/5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=j6SeZ%2Bg7i3beggaKXa3oJdhOpbg%3D&Expires=1758876443 securityworker stdout | 2025-09-26 08:37:23,515 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,515 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,515 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,515 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:23,515 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,515 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:23,515 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:23,515 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:23,515 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:23,515 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:23,515 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:23,515 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:23,516 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,516 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:37:23,516 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:37:23,516 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876443 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 securityworker stdout | 2025-09-26 08:37:23,522 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EUXpMQ0pwWVhRaU9qRTNOVGc0TnpVNE5ETXNJbVY0Y0NJNk1UYzFPRGczTmpRME15d2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE15OWhNMlZrT1RWallXVmlNREptWm1VMk9HTmtaRGxtWkRnME5EQTJOamd3WVdVNU0yUTJNek5qWWpFMk5ESXlaREF3WlRoaE4yTXlNamsxTldJME5tUTBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFRTTNjMVZERlhabmxZZW5WdWRGVldPRkF3ZEZCaWRFdERiekFsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRReklpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuWDI1dUVKenBwMndkVDVJMVZWZ2ZuOHNSd0FsYkxLR3lUTUJZYktKQUxVaEsxT1cxUEwwdEFhTm16UjUxWVdjNDE2VlF0ejVnVHVDUF94TWo3YUtVLVU5VUhaVGRDU0J0V25MeEg4MFRqUURBZ1ZTSU8tRXNkNDhLNEQwSVJsY3E4dXBlUnctaWdwS2JQQm92MFZ2Yk90bWs2S3ZQQVVCNzR6cjlvUzdTMWJwNUR6N0F0NVYyVW42MG9oNWVzdUROUGhlc19Rclp2QUpjbkh2TmxRSmVZelN4dHZDQmJtUlE1dHVFUmUtU1pLdUUwQUIwTlFyUUtHVEVqby1rdEgyY3dqS2hBc09YVHRvOWwwTlJRZTUxUU5STElqSmpibms0UjA1UFladUVxZ09RYjFTOHp6My10aWtJc0hodEN5aXM2dE9GMTZhMndVdl9FUnhGYzhnZnl3/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=P3w5T1WfyXzuntUV8P0tPbtKCo0%3D&Expires=1758876443 securityworker stdout | 2025-09-26 08:37:23,522 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,522 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,522 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,522 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:23,522 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,522 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:23,522 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:23,523 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:23,523 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:23,523 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:23,523 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:23,523 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:23,523 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:23,523 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:37:23,523 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:37:23,523 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876443 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 securityworker stdout | 2025-09-26 08:37:23,531 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EUXpMQ0pwWVhRaU9qRTNOVGc0TnpVNE5ETXNJbVY0Y0NJNk1UYzFPRGczTmpRME15d2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE15OWhNMlZrT1RWallXVmlNREptWm1VMk9HTmtaRGxtWkRnME5EQTJOamd3WVdVNU0yUTJNek5qWWpFMk5ESXlaREF3WlRoaE4yTXlNamsxTldJME5tUTBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFRTTNjMVZERlhabmxZZW5WdWRGVldPRkF3ZEZCaWRFdERiekFsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRReklpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuWDI1dUVKenBwMndkVDVJMVZWZ2ZuOHNSd0FsYkxLR3lUTUJZYktKQUxVaEsxT1cxUEwwdEFhTm16UjUxWVdjNDE2VlF0ejVnVHVDUF94TWo3YUtVLVU5VUhaVGRDU0J0V25MeEg4MFRqUURBZ1ZTSU8tRXNkNDhLNEQwSVJsY3E4dXBlUnctaWdwS2JQQm92MFZ2Yk90bWs2S3ZQQVVCNzR6cjlvUzdTMWJwNUR6N0F0NVYyVW42MG9oNWVzdUROUGhlc19Rclp2QUpjbkh2TmxRSmVZelN4dHZDQmJtUlE1dHVFUmUtU1pLdUUwQUIwTlFyUUtHVEVqby1rdEgyY3dqS2hBc09YVHRvOWwwTlJRZTUxUU5STElqSmpibms0UjA1UFladUVxZ09RYjFTOHp6My10aWtJc0hodEN5aXM2dE9GMTZhMndVdl9FUnhGYzhnZnl3/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=P3w5T1WfyXzuntUV8P0tPbtKCo0%3D&Expires=1758876443 securityworker stdout | 2025-09-26 08:37:23,531 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:37:23,531 [89] [DEBUG] [util.secscan.v4.api] POSTing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_report proxycacheblobworker stdout | 2025-09-26 08:37:23,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:37:23,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:33.545186+00:00 (in 9.999214 seconds) proxycacheblobworker stdout | 2025-09-26 08:37:23,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:33 GMT)" (scheduled at 2025-09-26 08:37:23.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:37:23,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:37:23,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 37, 23, 546243), True, datetime.datetime(2025, 9, 26, 8, 37, 23, 546243), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:37:23,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:37:23,559 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:37:23,559 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:33 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:37:23,578 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a HTTP/1.1" 200 241 gunicorn-registry stdout | 2025-09-26 08:37:23,579 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9inm-b59fqg-wmv', 'x-amz-id-2': 'mg0l9inm-b59fqg-wmv', 'ETag': '"f365106852a41e8065779a8ff564fba9-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:23 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:23 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:23,579 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:23,580 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:23,580 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:23,580 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:23,580 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9inm-b59fqg-wmv', 'HostId': 'mg0l9inm-b59fqg-wmv', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9inm-b59fqg-wmv', 'x-amz-id-2': 'mg0l9inm-b59fqg-wmv', 'etag': '"f365106852a41e8065779a8ff564fba9-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:23 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:23 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 23, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"f365106852a41e8065779a8ff564fba9-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:23,584 [256] [DEBUG] [app] Ending request: urn:request:78150c12-ab7a-4cdb-a278-80921a8688ae (/v2/testorg2/alpine/manifests/sha256:9c8d97ecfb803aa789985856077ccd4fede4b34fbd1e712e0e9cdc208565332e) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:78150c12-ab7a-4cdb-a278-80921a8688ae', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/manifests/sha256:9c8d97ecfb803aa789985856077ccd4fede4b34fbd1e712e0e9cdc208565332e', 'path': '/v2/testorg2/alpine/manifests/sha256:9c8d97ecfb803aa789985856077ccd4fede4b34fbd1e712e0e9cdc208565332e', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'size': 241}, 'layers': [{'mediaType': 'application/vnd.in-toto+json', 'digest': 'sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 'size': 81012, 'annotations': {'in-toto.io/predicate-type': 'https://spdx.dev/Document'}}, {'mediaType': 'application/vnd.in-toto+json', 'digest': 'sha256:c03aca438ba0cf5658ce37a01bd055c6ec48f88f2ebd6fc7a4c20cd0bbe84d58', 'size': 5748, 'annotations': {'in-toto.io/predicate-type': 'https://slsa.dev/provenance/v0.2'}}]}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:23,584 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:23,584 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:23,585 [256] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:23 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:9c8d97ecfb803aa789985856077ccd4fede4b34fbd1e712e0e9cdc208565332e HTTP/1.1" 201 2 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:23 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:9c8d97ecfb803aa789985856077ccd4fede4b34fbd1e712e0e9cdc208565332e HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.150 2661 0.151) teamsyncworker stdout | 2025-09-26 08:37:23,678 [105] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'teamsyncworker.py', 'pid': '105'} servicekey stdout | 2025-09-26 08:37:23,690 [93] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'servicekeyworker.py', 'pid': '93'} blobuploadcleanupworker stdout | 2025-09-26 08:37:23,766 [50] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'blobuploadcleanupworker.py', 'pid': '50'} nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:23 +0000] "GET /static/ldn/font-awesome.css-a166e3c966c6.css HTTP/1.1" 200 8417 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2269 -) gunicorn-registry stdout | 2025-09-26 08:37:23,897 [250] [DEBUG] [app] Starting request: urn:request:3ee8934f-8982-4f7d-a43e-5368c4f88d6f (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:23,898 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:23,898 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:23,898 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:23,899 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:23,899 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:23,899 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:23,899 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:23,899 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:23,900 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,904 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,907 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,911 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,915 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,918 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,921 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:23,924 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:23,928 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, '0bd55477-53c7-40d1-a161-4e400e649842', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 23, 928232)]) gunicorn-registry stdout | 2025-09-26 08:37:23,933 [250] [DEBUG] [app] Ending request: urn:request:3ee8934f-8982-4f7d-a43e-5368c4f88d6f (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:3ee8934f-8982-4f7d-a43e-5368c4f88d6f', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:23,933 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:23,933 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:23,933 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:23 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:23 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.037 1697 0.036) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:24 +0000] "GET /static/ldn/bootstrap.min.css-13f668494557.css HTTP/1.1" 200 24440 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2270 -) gcworker stdout | 2025-09-26 08:37:24,093 [57] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'gcworker.py', 'pid': '57'} nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:24 +0000] "GET /static/ldn/cssfamilySourceSansPro300400700-30cd793a4b9b.css HTTP/1.1" 200 236 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2284 -) queuecleanupworker stdout | 2025-09-26 08:37:24,191 [71] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'queuecleanupworker.py', 'pid': '71'} nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:24 +0000] "GET /static/ldn/bootstrap-datetimepicker.min.css-4b15a4ede750.css HTTP/1.1" 200 1482 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2285 -) securityscanningnotificationworker stdout | 2025-09-26 08:37:24,510 [88] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityscanningnotificationworker.py', 'pid': '88'} nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:24 +0000] "GET /static/ldn/cal-heatmap.css-904c3b9e8a60.css HTTP/1.1" 200 799 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2268 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:24 +0000] "GET /static/ldn/ng-tags-input.min.css-7782190f81cd.css HTTP/1.1" 200 1079 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2274 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:24 +0000] "GET /static/ldn/bootstrap.min.js-0e773844b374.js HTTP/1.1" 200 11303 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2254 -) gunicorn-registry stdout | 2025-09-26 08:37:24,716 [256] [DEBUG] [app] Starting request: urn:request:6640a04f-54d4-4c30-b962-801eb9ce5494 (/v2/testorg2/alpine/blobs/uploads/0bd55477-53c7-40d1-a161-4e400e649842) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:24,717 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '0bd55477-53c7-40d1-a161-4e400e649842', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:24,717 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:24,717 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:24,718 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:24,718 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:24,718 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:24,718 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:24,718 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:24,719 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:24,723 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:24,726 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:24,730 [256] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:24,734 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:24,737 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:24,741 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:24,744 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:24,748 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0bd55477-53c7-40d1-a161-4e400e649842', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:24,751 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:24,752 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:24,752 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:24,753 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:24,754 [256] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/06f20e73-3f0a-47b9-bd32-53e57cf9df38', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:24,754 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,754 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,754 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,754 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,754 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,754 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,754 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,754 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,754 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:24,754 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:24,754 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:24,754 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:24,755 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,755 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,755 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,755 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/06f20e73-3f0a-47b9-bd32-53e57cf9df38?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/06f20e73-3f0a-47b9-bd32-53e57cf9df38', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/06f20e73-3f0a-47b9-bd32-53e57cf9df38?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/06f20e73-3f0a-47b9-bd32-53e57cf9df38', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:24,755 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,755 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,755 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,755 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,756 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:24,756 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/06f20e73-3f0a-47b9-bd32-53e57cf9df38 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083724Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:24,756 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083724Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 7c110d31fca80bb4e0c3a68d032f5e11589f1119363125f9a2415b3f14f3412e gunicorn-registry stdout | 2025-09-26 08:37:24,756 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 427a40ceb310e9e15aaa6e0ac70e74fa3e1c2d0cfacf0c9674eff070f7edebb7 gunicorn-registry stdout | 2025-09-26 08:37:24,756 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,756 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:24,756 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:24,761 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/06f20e73-3f0a-47b9-bd32-53e57cf9df38?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:24,761 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9jmd-fagm5r-wkb', 'x-amz-id-2': 'mg0l9jmd-fagm5r-wkb', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:24,761 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/06f20e73-3f0a-47b9-bd32-53e57cf9df3868d650c4d73ec60008f9356a' gunicorn-registry stdout | 2025-09-26 08:37:24,762 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,762 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:24,762 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,762 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9jmd-fagm5r-wkb', 'HostId': 'mg0l9jmd-fagm5r-wkb', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9jmd-fagm5r-wkb', 'x-amz-id-2': 'mg0l9jmd-fagm5r-wkb', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:24 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/06f20e73-3f0a-47b9-bd32-53e57cf9df38', 'UploadId': '68d650c4d73ec60008f9356a'} gunicorn-registry stdout | 2025-09-26 08:37:24,762 [256] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:24,762 [256] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/06f20e73-3f0a-47b9-bd32-53e57cf9df38', 'UploadId': '68d650c4d73ec60008f9356a'} gunicorn-registry stdout | 2025-09-26 08:37:24,762 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,762 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,763 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,763 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,763 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,763 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,763 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:24,763 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:24,763 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:24,763 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:24,763 [256] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,763 [256] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,763 [256] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,763 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/06f20e73-3f0a-47b9-bd32-53e57cf9df38', 'query_string': {'uploadId': '68d650c4d73ec60008f9356a'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/06f20e73-3f0a-47b9-bd32-53e57cf9df38', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/06f20e73-3f0a-47b9-bd32-53e57cf9df38?uploadId=68d650c4d73ec60008f9356a', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/06f20e73-3f0a-47b9-bd32-53e57cf9df38', 'UploadId': '68d650c4d73ec60008f9356a'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:24,763 [256] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,763 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,763 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,763 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,763 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:24,764 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/06f20e73-3f0a-47b9-bd32-53e57cf9df38 gunicorn-registry stdout | uploadId=68d650c4d73ec60008f9356a gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083724Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:24,764 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083724Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | c94b0f50525de41b33c958c1d587412a2ce2c949339343a5e8ef2fd6c50cb018 gunicorn-registry stdout | 2025-09-26 08:37:24,764 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 0fbeacd86fb47d7f80ff5c7c6e5a3f555f571200a0393295eeb216384cbff81d gunicorn-registry stdout | 2025-09-26 08:37:24,764 [256] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,764 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:24,764 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:24,771 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/06f20e73-3f0a-47b9-bd32-53e57cf9df38?uploadId=68d650c4d73ec60008f9356a HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:24,772 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9jml-ff1uiq-nsd', 'x-amz-id-2': 'mg0l9jml-ff1uiq-nsd', 'Date': 'Fri, 26 Sep 2025 08:37:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:24,772 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:24,772 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,772 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:24,772 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,772 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9jml-ff1uiq-nsd', 'HostId': 'mg0l9jml-ff1uiq-nsd', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9jml-ff1uiq-nsd', 'x-amz-id-2': 'mg0l9jml-ff1uiq-nsd', 'date': 'Fri, 26 Sep 2025 08:37:24 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:24,772 [256] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 0bd55477-53c7-40d1-a161-4e400e649842 took 0.02036452293395996 seconds gunicorn-registry stdout | 2025-09-26 08:37:24,773 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0bd55477-53c7-40d1-a161-4e400e649842', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:24,777 [256] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '0bd55477-53c7-40d1-a161-4e400e649842', 3615006, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENw3Ax/mDx8/+lABzrQge6X/t8AAAD//xXpzcIALHAA/ah2wP8M//wq4H5k3Bx/bPf+V47//Wm1pwP+5cjx73v+jx4AAAAAAAAAAEi5AQAAAACUxeJ/D5kN5eT0NKiTBrJ9guRudJD30hFTXxcrokxAkZRiLg==', 9, '{"chunks": [["uploads/5d7190b6-c21e-4b9e-ad3f-b41dd2593601", 0, 3615006]]}', 2, 7351296, datetime.datetime(2025, 9, 26, 8, 37, 23, 928232), None, None, 66]) gunicorn-registry stdout | 2025-09-26 08:37:24,781 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:24,781 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:24,781 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:24,783 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:24,784 [256] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888'} gunicorn-registry stdout | 2025-09-26 08:37:24,784 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,784 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,784 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,784 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,784 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,784 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,784 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,784 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:24,784 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:24,784 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:24,784 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:24,785 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,785 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,785 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,785 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:24,785 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,785 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,785 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,785 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,785 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:24,785 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083724Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:24,786 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083724Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ae280156d8f94260e0702eb8b30d673eca178519e77fe7390f57ef858211b373 gunicorn-registry stdout | 2025-09-26 08:37:24,786 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 879f817bd6a0b971bb4ef6a25de4b90a1a3b8e92b5ae214716d1aa3c5cac6e1c gunicorn-registry stdout | 2025-09-26 08:37:24,786 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,786 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:24,786 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:24,791 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:24,792 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9jn7-fsk9i0-i48', 'x-amz-id-2': 'mg0l9jn7-fsk9i0-i48', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:24,792 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:24,792 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,792 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:24,792 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,792 [256] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:24,792 [256] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:24,792 [256] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888 gunicorn-registry stdout | 2025-09-26 08:37:24,792 [256] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:24,793 [256] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:24,793 [256] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:24,793 [256] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:24,793 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,793 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,793 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,793 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,793 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,793 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,793 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,793 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:24,793 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:24,793 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:24,793 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:24,793 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,793 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,793 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,793 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/5d7190b6-c21e-4b9e-ad3f-b41dd2593601', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5d7190b6-c21e-4b9e-ad3f-b41dd2593601', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5d7190b6-c21e-4b9e-ad3f-b41dd2593601', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/5d7190b6-c21e-4b9e-ad3f-b41dd2593601'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:24,793 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,794 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,794 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,794 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,794 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,794 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:24,794 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5d7190b6-c21e-4b9e-ad3f-b41dd2593601 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083724Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:24,794 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083724Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | fc71b9bd371e7ce29ff8020148ed460de98b3285789e8c9a8fa90d555ac700a3 gunicorn-registry stdout | 2025-09-26 08:37:24,794 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 17505378fd58fb3e7b91642cf092f744d49a2f79f21d8c4adad4029f13173ab9 gunicorn-registry stdout | 2025-09-26 08:37:24,794 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,794 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,794 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:24,794 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:24,798 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5d7190b6-c21e-4b9e-ad3f-b41dd2593601 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:24,799 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9jnf-fx3hpz-qre', 'x-amz-id-2': 'mg0l9jnf-fx3hpz-qre', 'ETag': '"e86323d04b1ab2e9c7b8aa5a018aceeb-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:24 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '3615006', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:24,799 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:24,799 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,799 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:24,799 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,799 [256] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:24,799 [256] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:24,800 [256] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:24,800 [256] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:24,800 [256] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/5d7190b6-c21e-4b9e-ad3f-b41dd2593601'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888', 'extra_args': {}, 'callbacks': [], 'size': 3615006} gunicorn-registry stdout | 2025-09-26 08:37:24,800 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,800 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,800 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,800 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,800 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,800 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,800 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,800 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,800 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,800 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,801 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:24,801 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:24,801 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:24,801 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:24,801 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,801 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,801 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,802 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5d7190b6-c21e-4b9e-ad3f-b41dd2593601', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5d7190b6-c21e-4b9e-ad3f-b41dd2593601', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:24,802 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,802 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,802 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,802 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,802 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler chunkcleanupworker stdout | 2025-09-26 08:37:24,802 [53] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'chunkcleanupworker.py', 'pid': '53'} gunicorn-registry stdout | 2025-09-26 08:37:24,802 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:24,802 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5d7190b6-c21e-4b9e-ad3f-b41dd2593601 gunicorn-registry stdout | x-amz-date:20250926T083724Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:24,802 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083724Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 9a05038df6e6e6ce77bc7fedb0c75113a3ead928a2a6f351d338e0c5b7d360a7 gunicorn-registry stdout | 2025-09-26 08:37:24,802 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 92ff130f5ae13bfc12ec98ca5b4e1228f5dd38246dc16d7440ccc6a554b5ea12 gunicorn-registry stdout | 2025-09-26 08:37:24,803 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,803 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,803 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:24,803 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:24,803 [256] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:24,829 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:24,829 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9jno-g2kztw-10y', 'x-amz-id-2': 'mg0l9jno-g2kztw-10y', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:24 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:24,829 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:24.000Z"e86323d04b1ab2e9c7b8aa5a018aceeb-1"' gunicorn-registry stdout | 2025-09-26 08:37:24,830 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,830 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:24,830 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:24,830 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:24,830 [256] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:24,830 [256] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 0bd55477-53c7-40d1-a161-4e400e649842 with digest sha256:a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888 took 0.03839540481567383 seconds gunicorn-registry stdout | 2025-09-26 08:37:24,831 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0bd55477-53c7-40d1-a161-4e400e649842', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:24,834 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:24,836 [256] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['7c30ab64-a626-45a4-b553-9faef04264c0', 3615006, 7351296, True, True, 'sha256:a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888']) gunicorn-registry stdout | 2025-09-26 08:37:24,838 [256] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [67, 9]) gunicorn-registry stdout | 2025-09-26 08:37:24,840 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:24,842 [256] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 67, datetime.datetime(2025, 9, 26, 8, 37, 24, 841702), datetime.datetime(2025, 9, 26, 9, 37, 24, 841680)]) gunicorn-registry stdout | 2025-09-26 08:37:24,843 [256] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [66]) gunicorn-registry stdout | 2025-09-26 08:37:24,847 [256] [DEBUG] [app] Ending request: urn:request:6640a04f-54d4-4c30-b962-801eb9ce5494 (/v2/testorg2/alpine/blobs/uploads/0bd55477-53c7-40d1-a161-4e400e649842) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:6640a04f-54d4-4c30-b962-801eb9ce5494', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/0bd55477-53c7-40d1-a161-4e400e649842?digest=sha256:a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888', 'path': '/v2/testorg2/alpine/blobs/uploads/0bd55477-53c7-40d1-a161-4e400e649842', 'parameters': {'digest': 'sha256:a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:24,847 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:24,847 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:24,847 [256] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:24 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/0bd55477-53c7-40d1-a161-4e400e649842?digest=sha256%3Aa55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:24 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/0bd55477-53c7-40d1-a161-4e400e649842?digest=sha256%3Aa55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.132 1853 0.132) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:24 +0000] "GET /static/ldn/angular.min.js-8c21e8f36c0e.js HTTP/1.1" 200 67557 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2252 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:24 +0000] "GET /static/ldn/angular-route.min.js-4245c439070d.js HTTP/1.1" 200 2702 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2258 -) gunicorn-registry stdout | 2025-09-26 08:37:24,977 [255] [DEBUG] [app] Starting request: urn:request:63395e90-6f8b-4163-b868-53e46f31da13 (/v2/testorg2/alpine/blobs/sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:24,977 [255] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:24,978 [255] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:24,978 [255] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:24,979 [255] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:24,979 [255] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:24,979 [255] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:24,979 [255] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:24,979 [255] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:24,980 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:24,985 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:24,989 [255] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:24,989 [255] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79_2 gunicorn-registry stdout | 2025-09-26 08:37:24,989 [255] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:24,990 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:24,994 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:24,998 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,002 [255] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,006 [255] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,009 [255] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79_2: None gunicorn-registry stdout | 2025-09-26 08:37:25,009 [255] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79_2: None gunicorn-registry stdout | 2025-09-26 08:37:25,009 [255] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:25,009 [255] [DEBUG] [app] Ending request: urn:request:63395e90-6f8b-4163-b868-53e46f31da13 (/v2/testorg2/alpine/blobs/sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:63395e90-6f8b-4163-b868-53e46f31da13', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'path': '/v2/testorg2/alpine/blobs/sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:25,010 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:25,010 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:25,010 [255] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:25 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:25 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.034 1718 0.034) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:25 +0000] "GET /static/ldn/moment.min.js-95505f39902e.js HTTP/1.1" 200 22167 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2251 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:25 +0000] "GET /static/ldn/bootstrap-datepicker.min.js-3e3d8e141d5e.js HTTP/1.1" 200 9323 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2265 -) gunicorn-registry stdout | 2025-09-26 08:37:25,285 [250] [DEBUG] [app] Starting request: urn:request:9deadf8b-303b-4e82-9aad-3b09846f8d4f (/v2/testorg2/alpine/blobs/uploads/aeaf6ea8-1da1-4726-adb2-82021123f698) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:25,285 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'aeaf6ea8-1da1-4726-adb2-82021123f698', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:25,285 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:25,285 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:25,286 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:25,286 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:25,286 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:25,286 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:25,286 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:25,288 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,292 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,296 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,300 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,303 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,307 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,312 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,316 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:25,319 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['aeaf6ea8-1da1-4726-adb2-82021123f698', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,323 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:25,323 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:25,323 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:25,324 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:25,325 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/79ef95d3-4cc1-4a55-940e-e9537557965b', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:25,325 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,325 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,325 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,325 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,325 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,325 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,325 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,325 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,325 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:25,325 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:25,325 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:25,325 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:25,325 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,325 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,325 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,326 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/79ef95d3-4cc1-4a55-940e-e9537557965b?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/79ef95d3-4cc1-4a55-940e-e9537557965b', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/79ef95d3-4cc1-4a55-940e-e9537557965b?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/79ef95d3-4cc1-4a55-940e-e9537557965b', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:25,326 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,326 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,326 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,326 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,326 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:25,326 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/79ef95d3-4cc1-4a55-940e-e9537557965b gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083725Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:25,326 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083725Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | b716431ab877656297b30277e186fd9cbcc805c1a0f9b08d3ce420a658b4a52c gunicorn-registry stdout | 2025-09-26 08:37:25,326 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 0fed7c2f5d264a73d35cc5b867bc917b3cacea01e484fec77a4a42a66307dde2 gunicorn-registry stdout | 2025-09-26 08:37:25,326 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,326 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:25,327 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:25,334 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/79ef95d3-4cc1-4a55-940e-e9537557965b?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:25,334 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9k29-87jaea-ula', 'x-amz-id-2': 'mg0l9k29-87jaea-ula', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:25,335 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/79ef95d3-4cc1-4a55-940e-e9537557965b68d650c5d73ec60008f93573' gunicorn-registry stdout | 2025-09-26 08:37:25,335 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,335 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:25,335 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,335 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9k29-87jaea-ula', 'HostId': 'mg0l9k29-87jaea-ula', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9k29-87jaea-ula', 'x-amz-id-2': 'mg0l9k29-87jaea-ula', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:25 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/79ef95d3-4cc1-4a55-940e-e9537557965b', 'UploadId': '68d650c5d73ec60008f93573'} gunicorn-registry stdout | 2025-09-26 08:37:25,335 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:25,336 [250] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/79ef95d3-4cc1-4a55-940e-e9537557965b', 'UploadId': '68d650c5d73ec60008f93573'} gunicorn-registry stdout | 2025-09-26 08:37:25,336 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,336 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,336 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,336 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,336 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,336 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,336 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:25,336 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:25,336 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:25,336 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:25,336 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,336 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,337 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,337 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/79ef95d3-4cc1-4a55-940e-e9537557965b', 'query_string': {'uploadId': '68d650c5d73ec60008f93573'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/79ef95d3-4cc1-4a55-940e-e9537557965b', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/79ef95d3-4cc1-4a55-940e-e9537557965b?uploadId=68d650c5d73ec60008f93573', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/79ef95d3-4cc1-4a55-940e-e9537557965b', 'UploadId': '68d650c5d73ec60008f93573'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:25,337 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,337 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,337 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,337 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,337 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:25,337 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/79ef95d3-4cc1-4a55-940e-e9537557965b gunicorn-registry stdout | uploadId=68d650c5d73ec60008f93573 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083725Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:25,337 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083725Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | f7b636d16af154004e7ebc426e35c3ceee3b9d188079977aea5a34b2a3d7304b gunicorn-registry stdout | 2025-09-26 08:37:25,338 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 60ffed783a691e7c37abbe5ea59c0b3ec2a6d27618cada512491ec1c226dc6e7 gunicorn-registry stdout | 2025-09-26 08:37:25,338 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,338 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:25,338 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:25,344 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/79ef95d3-4cc1-4a55-940e-e9537557965b?uploadId=68d650c5d73ec60008f93573 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:25,344 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9k2j-8dh56d-1ob', 'x-amz-id-2': 'mg0l9k2j-8dh56d-1ob', 'Date': 'Fri, 26 Sep 2025 08:37:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:25,344 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:25,345 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,345 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:25,345 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,345 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9k2j-8dh56d-1ob', 'HostId': 'mg0l9k2j-8dh56d-1ob', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9k2j-8dh56d-1ob', 'x-amz-id-2': 'mg0l9k2j-8dh56d-1ob', 'date': 'Fri, 26 Sep 2025 08:37:25 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:25,345 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob aeaf6ea8-1da1-4726-adb2-82021123f698 took 0.021477460861206055 seconds gunicorn-registry stdout | 2025-09-26 08:37:25,345 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['aeaf6ea8-1da1-4726-adb2-82021123f698', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,349 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, 'aeaf6ea8-1da1-4726-adb2-82021123f698', 576, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwY2NmMDk3YjQ3ZDE1YzQyMmJkZmU5MDI1ODBlZjg0MjBmYTAxYTEyOGU3MDRiZDI2ZjlmNmQxZDBlNWNkIl19fQAAAAAAAAAAABIAAAAAAADsIYXKxO6OiAO4Kol0Q6shxalXK46gzm4IMTX8fnIqUJRiLg==', 9, '{"chunks": [["uploads/5f9975a1-e173-40ac-b672-ae5447cad782", 0, 576]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 25, 61979), None, None, 67]) gunicorn-registry stdout | 2025-09-26 08:37:25,354 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:25,354 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:25,354 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:25,355 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:25,355 [250] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79'} gunicorn-registry stdout | 2025-09-26 08:37:25,355 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,355 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,355 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,355 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,355 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,355 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,355 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,356 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:25,356 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:25,356 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:25,356 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:25,356 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,356 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,356 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,356 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:25,357 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,357 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,357 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,357 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,357 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:25,357 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083725Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:25,357 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083725Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 238d5ffcf8bbd69eb09d311d3ea3979f24a8c62957182f3f4cbaace202a3405e gunicorn-registry stdout | 2025-09-26 08:37:25,357 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 04764f5fae75115f58fe501fa167ac8a43f147dde4754c2216953c5e1c69cfd0 gunicorn-registry stdout | 2025-09-26 08:37:25,357 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,357 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:25,357 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:25,362 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:25,363 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9k32-8p8xdd-zlw', 'x-amz-id-2': 'mg0l9k32-8p8xdd-zlw', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:25,363 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:25,363 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,363 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:25,363 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,363 [250] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:25,363 [250] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:25,363 [250] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79 gunicorn-registry stdout | 2025-09-26 08:37:25,364 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:25,364 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:25,364 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:25,364 [250] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:25,364 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,364 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,364 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,364 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,364 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,364 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,365 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,365 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:25,365 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:25,365 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:25,365 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:25,365 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,366 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,366 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,366 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/5f9975a1-e173-40ac-b672-ae5447cad782', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5f9975a1-e173-40ac-b672-ae5447cad782', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5f9975a1-e173-40ac-b672-ae5447cad782', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/5f9975a1-e173-40ac-b672-ae5447cad782'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:25,366 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,366 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,366 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,366 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,366 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,366 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:25,366 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5f9975a1-e173-40ac-b672-ae5447cad782 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083725Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:25,366 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083725Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 84dabdb9703ce981233f84357daec3ba23bc222d38a2d4e635b5f1a23a485717 gunicorn-registry stdout | 2025-09-26 08:37:25,366 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 75b05dec1e30ed056d64ebbd51de955d4a8148b1c7862ab20242f448553c4b02 gunicorn-registry stdout | 2025-09-26 08:37:25,367 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,367 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,367 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:25,367 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:25,372 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5f9975a1-e173-40ac-b672-ae5447cad782 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:25,372 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9k3c-8uqval-sm0', 'x-amz-id-2': 'mg0l9k3c-8uqval-sm0', 'ETag': '"109d44b9dc2e005b309d2c8d646756e8-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:25 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '576', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:25,372 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:25,373 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,373 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:25,373 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,373 [250] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:25,373 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:25,373 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:25,374 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:25,374 [250] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/5f9975a1-e173-40ac-b672-ae5447cad782'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'extra_args': {}, 'callbacks': [], 'size': 576} gunicorn-registry stdout | 2025-09-26 08:37:25,374 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,374 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,374 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,374 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,374 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,374 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,374 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,374 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,374 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,374 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,374 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:25,374 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:25,374 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:25,374 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:25,374 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,375 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,375 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,375 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5f9975a1-e173-40ac-b672-ae5447cad782', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5f9975a1-e173-40ac-b672-ae5447cad782', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:25,375 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,375 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,375 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,375 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,375 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,375 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:25,375 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/5f9975a1-e173-40ac-b672-ae5447cad782 gunicorn-registry stdout | x-amz-date:20250926T083725Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:25,375 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083725Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 66df069b5ee7c42d3f6f8afaa1c840a36ded0e03381e2576d4834c6b2bb40ea9 gunicorn-registry stdout | 2025-09-26 08:37:25,375 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | a07d430fe07896607949bb8503419b4ea8d180de94a02243e42fa426d4ef3507 gunicorn-registry stdout | 2025-09-26 08:37:25,375 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,375 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,375 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:25,376 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:25,376 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:25,402 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:25,403 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9k3l-900j4g-mkz', 'x-amz-id-2': 'mg0l9k3l-900j4g-mkz', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:25 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:25,403 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:25.000Z"109d44b9dc2e005b309d2c8d646756e8-1"' gunicorn-registry stdout | 2025-09-26 08:37:25,404 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,404 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:25,404 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:25,404 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:25,404 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:25,405 [250] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob aeaf6ea8-1da1-4726-adb2-82021123f698 with digest sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79 took 0.041513919830322266 seconds gunicorn-registry stdout | 2025-09-26 08:37:25,405 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['aeaf6ea8-1da1-4726-adb2-82021123f698', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,409 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,410 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['2ac9bf98-4232-4b44-b0eb-d22934938341', 576, None, True, True, 'sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79']) gunicorn-registry stdout | 2025-09-26 08:37:25,412 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [68, 9]) gunicorn-registry stdout | 2025-09-26 08:37:25,414 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,416 [250] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 68, datetime.datetime(2025, 9, 26, 8, 37, 25, 416378), datetime.datetime(2025, 9, 26, 9, 37, 25, 416360)]) gunicorn-registry stdout | 2025-09-26 08:37:25,418 [250] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [67]) gunicorn-registry stdout | 2025-09-26 08:37:25,421 [250] [DEBUG] [app] Ending request: urn:request:9deadf8b-303b-4e82-9aad-3b09846f8d4f (/v2/testorg2/alpine/blobs/uploads/aeaf6ea8-1da1-4726-adb2-82021123f698) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:9deadf8b-303b-4e82-9aad-3b09846f8d4f', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/aeaf6ea8-1da1-4726-adb2-82021123f698?digest=sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'path': '/v2/testorg2/alpine/blobs/uploads/aeaf6ea8-1da1-4726-adb2-82021123f698', 'parameters': {'digest': 'sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:25,422 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:25,422 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:25,422 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:25 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/aeaf6ea8-1da1-4726-adb2-82021123f698?digest=sha256%3Af30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:25 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/aeaf6ea8-1da1-4726-adb2-82021123f698?digest=sha256%3Af30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.139 1853 0.138) repositorygcworker stdout | 2025-09-26 08:37:25,517 [86] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositorygcworker.py', 'pid': '86'} nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:25 +0000] "GET /static/ldn/bootstrap-datetimepicker.min.js-6612bb423b71.js HTTP/1.1" 200 10832 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2269 -) gunicorn-secscan stdout | 2025-09-26 08:37:25,662 [227] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '227'} gunicorn-secscan stdout | 2025-09-26 08:37:25,669 [228] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '228'} gunicorn-secscan stdout | 2025-09-26 08:37:25,674 [60] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '60'} nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:25 +0000] "GET /static/ldn/bootbox4.1.0underscorejs1.5.2restangular1.2.0d3js3.3.3-6d47ddfef9c5.js HTTP/1.1" 200 71199 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2292 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:25 +0000] "GET /static/ldn/raven.min.js-ecd480647a39.js HTTP/1.1" 200 9505 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2250 -) namespacegcworker stdout | 2025-09-26 08:37:25,912 [66] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'namespacegcworker.py', 'pid': '66'} nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:25 +0000] "GET /static/ldn/typeahead.bundle.min.js-716151ca4e5d.js HTTP/1.1" 200 16673 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2261 -) gunicorn-registry stdout | 2025-09-26 08:37:25,930 [250] [DEBUG] [app] Starting request: urn:request:50ae7693-3073-4f17-9003-58101c55f6d3 (/v2/testorg2/alpine/blobs/sha256:3cf698b1c13f6954c9440cda73cba6c5cc5068db4cb4e8bf99ccc0ae11ecaaa2) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:25,930 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:3cf698b1c13f6954c9440cda73cba6c5cc5068db4cb4e8bf99ccc0ae11ecaaa2', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:25,930 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:25,930 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:25,931 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:25,931 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:25,931 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:25,931 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:25,931 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:25,932 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,936 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,939 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:25,940 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:3cf698b1c13f6954c9440cda73cba6c5cc5068db4cb4e8bf99ccc0ae11ecaaa2_2 gunicorn-registry stdout | 2025-09-26 08:37:25,940 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:3cf698b1c13f6954c9440cda73cba6c5cc5068db4cb4e8bf99ccc0ae11ecaaa2_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:25,941 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,944 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,947 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,951 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:3cf698b1c13f6954c9440cda73cba6c5cc5068db4cb4e8bf99ccc0ae11ecaaa2', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,955 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:3cf698b1c13f6954c9440cda73cba6c5cc5068db4cb4e8bf99ccc0ae11ecaaa2', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:25,959 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:3cf698b1c13f6954c9440cda73cba6c5cc5068db4cb4e8bf99ccc0ae11ecaaa2_2: None gunicorn-registry stdout | 2025-09-26 08:37:25,960 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:3cf698b1c13f6954c9440cda73cba6c5cc5068db4cb4e8bf99ccc0ae11ecaaa2_2: None gunicorn-registry stdout | 2025-09-26 08:37:25,960 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:25,960 [250] [DEBUG] [app] Ending request: urn:request:50ae7693-3073-4f17-9003-58101c55f6d3 (/v2/testorg2/alpine/blobs/sha256:3cf698b1c13f6954c9440cda73cba6c5cc5068db4cb4e8bf99ccc0ae11ecaaa2) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:50ae7693-3073-4f17-9003-58101c55f6d3', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:3cf698b1c13f6954c9440cda73cba6c5cc5068db4cb4e8bf99ccc0ae11ecaaa2', 'path': '/v2/testorg2/alpine/blobs/sha256:3cf698b1c13f6954c9440cda73cba6c5cc5068db4cb4e8bf99ccc0ae11ecaaa2', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:25,960 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:25,960 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:25,960 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:25 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:3cf698b1c13f6954c9440cda73cba6c5cc5068db4cb4e8bf99ccc0ae11ecaaa2 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:25 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:3cf698b1c13f6954c9440cda73cba6c5cc5068db4cb4e8bf99ccc0ae11ecaaa2 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.031 1718 0.031) gunicorn-registry stdout | 2025-09-26 08:37:25,999 [256] [DEBUG] [app] Starting request: urn:request:8dd026aa-1984-4ca7-8567-641701ed7fc2 (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:26,000 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:26,000 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:26,000 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:26,001 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:26,001 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:26,001 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:26,001 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:26,001 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:26,002 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,002 [250] [DEBUG] [app] Starting request: urn:request:42aba04e-1067-4438-a553-f04ef685bbcd (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:26,003 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:26,003 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:26,003 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:26,004 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:26,004 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:26,004 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:26,004 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:26,004 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:26,005 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,006 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,009 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,009 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,012 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,013 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,016 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,017 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,020 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,021 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,023 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,024 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:26,027 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:26,028 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,030 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,031 [256] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, '6ea95b48-f26d-4713-bb2f-a985e6e9411c', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 26, 31402)]) gunicorn-registry stdout | 2025-09-26 08:37:26,033 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, '5a25e600-8e46-40e4-8333-f10ea4bd2452', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 26, 33471)]) gunicorn-registry stdout | 2025-09-26 08:37:26,036 [256] [DEBUG] [app] Ending request: urn:request:8dd026aa-1984-4ca7-8567-641701ed7fc2 (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:8dd026aa-1984-4ca7-8567-641701ed7fc2', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:26,036 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:26,036 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:26,037 [256] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:26 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:26 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.038 1697 0.038) gunicorn-registry stdout | 2025-09-26 08:37:26,038 [250] [DEBUG] [app] Ending request: urn:request:42aba04e-1067-4438-a553-f04ef685bbcd (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:42aba04e-1067-4438-a553-f04ef685bbcd', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:26,038 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:26,038 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:26 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.038 1697 0.037) gunicorn-registry stdout | 2025-09-26 08:37:26,039 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:26 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:37:26,079 [256] [DEBUG] [app] Starting request: urn:request:948bbe48-e9bf-4132-a1d9-e68743334879 (/v2/testorg2/alpine/blobs/uploads/6ea95b48-f26d-4713-bb2f-a985e6e9411c) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:26,079 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '6ea95b48-f26d-4713-bb2f-a985e6e9411c', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:26,079 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:26,079 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:26,080 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:26,080 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:26,080 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:26,080 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:26,080 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:26,081 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,085 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,088 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,092 [256] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,096 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,100 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,104 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,108 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:26,112 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['6ea95b48-f26d-4713-bb2f-a985e6e9411c', 1, 0]) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:26 +0000] "GET /static/build/main-quay-frontend-646853b3bd4264fd033e.bundle.js HTTP/1.1" 200 730967 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2273 -) gunicorn-registry stdout | 2025-09-26 08:37:26,117 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:26,117 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:26,117 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:26,119 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:26,119 [256] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:26,119 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,119 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,119 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,119 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,119 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,119 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,119 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,119 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,119 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:26,119 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:26,119 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:26,120 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:26,120 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,120 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,120 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,120 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:26,120 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,120 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,120 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,121 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,121 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:26,121 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083726Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:26,121 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083726Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 030b654ba72e68dcb6021714f1d9ca0ad8869ea58682cb841a48e9cd3ec7285e gunicorn-registry stdout | 2025-09-26 08:37:26,121 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | a467f7e272a9e15e2c7e60e70f61486df2809d53e02dfd32a6c6471de161b793 gunicorn-registry stdout | 2025-09-26 08:37:26,121 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,121 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:26,121 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:26,127 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:26,127 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9koa-4sqkl8-swn', 'x-amz-id-2': 'mg0l9koa-4sqkl8-swn', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:26 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:26,127 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb60668d650c6d73ec60008f93579' gunicorn-registry stdout | 2025-09-26 08:37:26,127 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,127 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:26,127 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,128 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9koa-4sqkl8-swn', 'HostId': 'mg0l9koa-4sqkl8-swn', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9koa-4sqkl8-swn', 'x-amz-id-2': 'mg0l9koa-4sqkl8-swn', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:26 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606', 'UploadId': '68d650c6d73ec60008f93579'} gunicorn-registry stdout | 2025-09-26 08:37:26,128 [256] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:26,155 [256] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:26,155 [256] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:26,155 [256] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606', 'UploadId': '68d650c6d73ec60008f93579', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dab9580>, 'ContentLength': 80931} gunicorn-registry stdout | 2025-09-26 08:37:26,155 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,155 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,156 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,156 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,156 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,156 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,156 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,156 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,156 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:26,156 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:26,156 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:26,156 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:26,156 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,156 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,156 [256] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:26,156 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,157 [256] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,157 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606', 'query_string': {'uploadId': '68d650c6d73ec60008f93579', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '80931', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': '1xwpj0TTrU0lJkQaJfTncQ==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dab9580>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606?uploadId=68d650c6d73ec60008f93579&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606', 'UploadId': '68d650c6d73ec60008f93579', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dab9580>, 'ContentLength': 80931}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:26,157 [256] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,157 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,157 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,157 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,157 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:26,157 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606 gunicorn-registry stdout | partNumber=1&uploadId=68d650c6d73ec60008f93579 gunicorn-registry stdout | content-length:80931 gunicorn-registry stdout | content-md5:1xwpj0TTrU0lJkQaJfTncQ== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083726Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:26,157 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083726Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 80e6dffd70d12e23d50e7b5cd4c93f006e47df1ef373f3dc0994e5e16724b2a5 gunicorn-registry stdout | 2025-09-26 08:37:26,157 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 9830962ade9b38b9d118cac073bcb85a58c47146554ec9d0cbc279dff6aaef93 gunicorn-registry stdout | 2025-09-26 08:37:26,157 [256] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,157 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:26,158 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:26,159 [256] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:26,159 [256] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. securityworker stdout | 2025-09-26 08:37:26,232 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "POST /indexer/api/v1/index_report HTTP/1.1" 201 None securityworker stdout | 2025-09-26 08:37:26,235 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."manifest_id", "t1"."repository_id", "t1"."index_status", "t1"."error_json", "t1"."last_indexed", "t1"."indexer_hash", "t1"."indexer_version", "t1"."metadata_json" FROM "manifestsecuritystatus" AS "t1" WHERE ("t1"."manifest_id" = %s) LIMIT %s OFFSET %s', [23, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,238 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606?uploadId=68d650c6d73ec60008f93579&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:26,239 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9kpb-5egrdb-nx9', 'x-amz-id-2': 'mg0l9kpb-5egrdb-nx9', 'ETag': '"d71c298f44d3ad4d2526441a25f4e771"', 'Date': 'Fri, 26 Sep 2025 08:37:26 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:26,239 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:26,239 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,239 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:26,239 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,239 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9kpb-5egrdb-nx9', 'HostId': 'mg0l9kpb-5egrdb-nx9', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9kpb-5egrdb-nx9', 'x-amz-id-2': 'mg0l9kpb-5egrdb-nx9', 'etag': '"d71c298f44d3ad4d2526441a25f4e771"', 'date': 'Fri, 26 Sep 2025 08:37:26 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"d71c298f44d3ad4d2526441a25f4e771"'} gunicorn-registry stdout | 2025-09-26 08:37:26,239 [256] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606', 'UploadId': '68d650c6d73ec60008f93579', 'MultipartUpload': {'Parts': [{'ETag': '"d71c298f44d3ad4d2526441a25f4e771"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:26,239 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,239 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,239 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,239 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,240 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler securityworker stdout | 2025-09-26 08:37:26,240 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE ("t1"."manifest_id" = %s) LIMIT %s OFFSET %s', [23, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,240 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,240 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,240 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:26,240 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:26,240 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:26,240 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:26,240 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,240 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,240 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,240 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606', 'query_string': {'uploadId': '68d650c6d73ec60008f93579'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"d71c298f44d3ad4d2526441a25f4e771"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606?uploadId=68d650c6d73ec60008f93579', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606', 'UploadId': '68d650c6d73ec60008f93579', 'MultipartUpload': {'Parts': [{'ETag': '"d71c298f44d3ad4d2526441a25f4e771"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:26,240 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,241 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,241 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,241 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,241 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:26,241 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606 gunicorn-registry stdout | uploadId=68d650c6d73ec60008f93579 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:5f79d982a75065ed0add60089a5541fa46ef618edaa7ed0a52d2d6f9d2078ded gunicorn-registry stdout | x-amz-date:20250926T083726Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 5f79d982a75065ed0add60089a5541fa46ef618edaa7ed0a52d2d6f9d2078ded gunicorn-registry stdout | 2025-09-26 08:37:26,241 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083726Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | dc3cb16bd9567aec30a49ece17df7f1e0c12e8c048e0fa5cecb8479928defa3b gunicorn-registry stdout | 2025-09-26 08:37:26,241 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | be0746f8eea4b10359ad444e6a398310145e1a049e7fc1932cc777718f4aadc5 gunicorn-registry stdout | 2025-09-26 08:37:26,241 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,241 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:26,242 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem securityworker stdout | 2025-09-26 08:37:26,244 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:37:26,244 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/matcher/api/v1/vulnerability_report/sha256:9a00b501930d225081164db0456189ebc25b9c7524989c38f4d77c0a96a9ca9a gunicorn-registry stdout | 2025-09-26 08:37:26,257 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606?uploadId=68d650c6d73ec60008f93579 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:26,257 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9krn-6smoxx-27r', 'x-amz-id-2': 'mg0l9krn-6smoxx-27r', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:26 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:26,257 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606"2c41fc2bfbfb7be645fb362fd3b1d215-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606?uploadId=68d650c6d73ec60008f93579' gunicorn-registry stdout | 2025-09-26 08:37:26,257 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,258 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,258 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:26,258 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,258 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9krn-6smoxx-27r', 'HostId': 'mg0l9krn-6smoxx-27r', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9krn-6smoxx-27r', 'x-amz-id-2': 'mg0l9krn-6smoxx-27r', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:26 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606?uploadId=68d650c6d73ec60008f93579', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606', 'ETag': '"2c41fc2bfbfb7be645fb362fd3b1d215-1"'} gunicorn-registry stdout | 2025-09-26 08:37:26,258 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:26,259 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:26,259 [256] [DEBUG] [data.registry_model.blobuploader] Uploaded 80931 bytes to blob 6ea95b48-f26d-4713-bb2f-a985e6e9411c took 0.14199328422546387 seconds gunicorn-registry stdout | 2025-09-26 08:37:26,260 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['6ea95b48-f26d-4713-bb2f-a985e6e9411c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,264 [256] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '6ea95b48-f26d-4713-bb2f-a985e6e9411c', 80931, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwYXRpb25zaGlwVHlwZSI6IkdFTkVSQVRFRF9GUk9NIn1dfX1iMjIxNTNmYzZhNGY4ZWM5NmRkMTM1OCIsInJlbCMAAAAAAAAAAOAJAAAAAACFt8pBh/Qw9xl07TZSjdPdsBUPgmgMxf5KR8/86VE6npRiLg==', 9, '{"chunks": [["uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606", 0, 80931]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 26, 31402), None, None, 68]) gunicorn-registry stdout | 2025-09-26 08:37:26,268 [256] [DEBUG] [app] Ending request: urn:request:948bbe48-e9bf-4132-a1d9-e68743334879 (/v2/testorg2/alpine/blobs/uploads/6ea95b48-f26d-4713-bb2f-a985e6e9411c) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:948bbe48-e9bf-4132-a1d9-e68743334879', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/6ea95b48-f26d-4713-bb2f-a985e6e9411c', 'path': '/v2/testorg2/alpine/blobs/uploads/6ea95b48-f26d-4713-bb2f-a985e6e9411c', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:26,269 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:26,269 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:26,269 [256] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:26 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/6ea95b48-f26d-4713-bb2f-a985e6e9411c HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:26 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/6ea95b48-f26d-4713-bb2f-a985e6e9411c HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.192 82709 0.191) securityworker stdout | 2025-09-26 08:37:26,290 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /matcher/api/v1/vulnerability_report/sha256:9a00b501930d225081164db0456189ebc25b9c7524989c38f4d77c0a96a9ca9a HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:37:26,294 [89] [DEBUG] [data.secscan_model.secscan_v4_model] Attempting to create notifications for manifest #23 securityworker stdout | 2025-09-26 08:37:26,295 [89] [DEBUG] [peewee] ('DELETE FROM "manifestsecuritystatus" WHERE ("manifestsecuritystatus"."manifest_id" = %s)', [23]) securityworker stdout | 2025-09-26 08:37:26,297 [89] [DEBUG] [peewee] ('INSERT INTO "manifestsecuritystatus" ("manifest_id", "repository_id", "index_status", "error_json", "last_indexed", "indexer_hash", "indexer_version", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifestsecuritystatus"."id"', [23, 3, 2, '""', datetime.datetime(2025, 9, 26, 8, 37, 26, 297577), '37b46b4a70b6f1a19d5e4e18d21f57ff', 4, '{}']) securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Marking id range as completed: 20-24 by worker securityworker stdout | 2025-09-26 08:37:26,301 [89] [DEBUG] [util.migrate.allocator] Marking id range as completed: 20-24 by worker securityworker stdout | 2025-09-26 08:37:26,301 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 20-24 securityworker stdout | 2025-09-26 08:37:26,301 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 20 securityworker stdout | 2025-09-26 08:37:26,301 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:37:26,301 [89] [DEBUG] [util.migrate.allocator] Total range: 9-20 securityworker stdout | 2025-09-26 08:37:26,301 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:37:26,301 [89] [DEBUG] [util.migrate.allocator] Left range 11-15 securityworker stdout | 2025-09-26 08:37:26,301 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 15-20 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 20-24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 20 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total range: 9-20 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Left range 11-15 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 15-20 securityworker stdout | 2025-09-26 08:37:26,301 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 16 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 16 securityworker stdout | 2025-09-26 08:37:26,303 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 16, 20]) securityworker stdout | 2025-09-26 08:37:26,306 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 16-20 by worker securityworker stdout | 2025-09-26 08:37:26,306 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 16-20 securityworker stdout | 2025-09-26 08:37:26,306 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 16 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 16-20 by worker securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 16-20 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 16 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:37:26,306 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:37:26,306 [89] [DEBUG] [util.migrate.allocator] Total range: 9-16 securityworker stdout | 2025-09-26 08:37:26,306 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:37:26,306 [89] [DEBUG] [util.migrate.allocator] Right range 11-15 securityworker stdout | 2025-09-26 08:37:26,306 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-11 securityworker stdout | 2025-09-26 08:37:26,306 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 9 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total range: 9-16 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Right range 11-15 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-11 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 9 securityworker stdout | 2025-09-26 08:37:26,307 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 9, 13]) gunicorn-registry stdout | 2025-09-26 08:37:26,311 [257] [DEBUG] [app] Starting request: urn:request:ac4f8c18-23e7-4be4-906c-3749e87c41df (/v2/testorg2/alpine/blobs/uploads/6ea95b48-f26d-4713-bb2f-a985e6e9411c) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:26,311 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '6ea95b48-f26d-4713-bb2f-a985e6e9411c', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:26,311 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:26,311 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg securityworker stdout | 2025-09-26 08:37:26,311 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 9-13 by worker securityworker stdout | 2025-09-26 08:37:26,311 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 9-13 securityworker stdout | 2025-09-26 08:37:26,311 [89] [DEBUG] [util.migrate.allocator] Merging with block 11-15 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 9-13 by worker securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 9-13 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Merging with block 11-15 securityworker stdout | 2025-09-26 08:37:26,311 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 15 securityworker stdout | 2025-09-26 08:37:26,311 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:37:26,312 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:26,312 [89] [DEBUG] [util.migrate.allocator] Total range: 15-16 securityworker stdout | 2025-09-26 08:37:26,312 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:26,312 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 15-16 securityworker stdout | 2025-09-26 08:37:26,312 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 15 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 15 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total range: 15-16 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 15-16 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 15 gunicorn-registry stdout | 2025-09-26 08:37:26,312 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:26,312 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:26,312 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:26,312 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:26,312 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine securityworker stdout | 2025-09-26 08:37:26,313 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 15, 19]) gunicorn-registry stdout | 2025-09-26 08:37:26,313 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 15-19 by worker securityworker stdout | 2025-09-26 08:37:26,316 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 15-19 by worker securityworker stdout | 2025-09-26 08:37:26,316 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 15-19 securityworker stdout | 2025-09-26 08:37:26,317 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 15 securityworker stdout | 2025-09-26 08:37:26,317 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 19 securityworker stdout | 2025-09-26 08:37:26,317 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:26,317 [89] [DEBUG] [util.migrate.allocator] Total range: 19-15 securityworker stdout | 2025-09-26 08:37:26,317 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:37:26,317 [89] [DEBUG] [util.migrate.allocator] Total range: 9-24 securityworker stdout | 2025-09-26 08:37:26,317 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:26,317 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-24 securityworker stdout | 2025-09-26 08:37:26,317 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 20 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 15-19 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 15 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 19 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total range: 19-15 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total range: 9-24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 20 gunicorn-registry stdout | 2025-09-26 08:37:26,318 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) securityworker stdout | 2025-09-26 08:37:26,318 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 32, 19, 338838), 11, 15]) securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 11-15 by worker securityworker stdout | 2025-09-26 08:37:26,322 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 11-15 by worker securityworker stdout | 2025-09-26 08:37:26,322 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 11-15 securityworker stdout | 2025-09-26 08:37:26,322 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 11-15 securityworker stdout | 2025-09-26 08:37:26,322 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:37:26,322 [89] [DEBUG] [util.migrate.allocator] Total range: 9-24 securityworker stdout | 2025-09-26 08:37:26,322 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:37:26,322 [89] [DEBUG] [util.migrate.allocator] Left range 11-15 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 11-15 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 11-15 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total range: 9-24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Left range 11-15 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 15-24 gunicorn-registry stdout | 2025-09-26 08:37:26,322 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) securityworker stdout | 2025-09-26 08:37:26,322 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 15-24 securityworker stdout | 2025-09-26 08:37:26,322 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 20 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 20 securityworker stdout | 2025-09-26 08:37:26,323 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 32, 19, 338838), 19, 23]) gunicorn-registry stdout | 2025-09-26 08:37:26,326 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) securityworker stdout | 2025-09-26 08:37:26,326 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 19-23 by worker securityworker stdout | 2025-09-26 08:37:26,326 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 19-23 securityworker stdout | 2025-09-26 08:37:26,326 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 19-23 securityworker stdout | 2025-09-26 08:37:26,326 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stdout | 2025-09-26 08:37:26,327 [89] [DEBUG] [util.migrate.allocator] Total range: 9-24 securityworker stdout | 2025-09-26 08:37:26,327 [89] [DEBUG] [util.migrate.allocator] Selected random hole 2 with 3 total holes securityworker stdout | 2025-09-26 08:37:26,327 [89] [DEBUG] [util.migrate.allocator] Left range 11-15 securityworker stdout | 2025-09-26 08:37:26,327 [89] [DEBUG] [util.migrate.allocator] Right range 19-23 securityworker stdout | 2025-09-26 08:37:26,327 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 15-19 securityworker stdout | 2025-09-26 08:37:26,327 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 15 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 19-23 by worker securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 19-23 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 19-23 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total range: 9-24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selected random hole 2 with 3 total holes securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Left range 11-15 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Right range 19-23 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 15-19 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 15 securityworker stdout | 2025-09-26 08:37:26,328 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 32, 19, 338838), 15, 19]) gunicorn-registry stdout | 2025-09-26 08:37:26,330 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 15-19 by worker securityworker stdout | 2025-09-26 08:37:26,331 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 15-19 by worker securityworker stdout | 2025-09-26 08:37:26,332 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 15-19 securityworker stdout | 2025-09-26 08:37:26,332 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 11-15 securityworker stdout | 2025-09-26 08:37:26,332 [89] [DEBUG] [util.migrate.allocator] Already merged with block 11-15 securityworker stdout | 2025-09-26 08:37:26,332 [89] [DEBUG] [util.migrate.allocator] Merging with block 19-23 securityworker stdout | 2025-09-26 08:37:26,332 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 15-19 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 11-15 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Already merged with block 11-15 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Merging with block 19-23 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 11-23 securityworker stdout | 2025-09-26 08:37:26,332 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 11-23 securityworker stdout | 2025-09-26 08:37:26,332 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:37:26,332 [89] [DEBUG] [util.migrate.allocator] Total range: 9-24 securityworker stdout | 2025-09-26 08:37:26,332 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:37:26,332 [89] [DEBUG] [util.migrate.allocator] Right range 11-23 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total range: 9-24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Right range 11-23 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-11 securityworker stdout | 2025-09-26 08:37:26,332 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-11 securityworker stdout | 2025-09-26 08:37:26,332 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 9 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 9 securityworker stdout | 2025-09-26 08:37:26,334 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 32, 19, 338838), 9, 13]) gunicorn-registry stdout | 2025-09-26 08:37:26,335 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 9-13 by worker securityworker stdout | 2025-09-26 08:37:26,337 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 9-13 by worker securityworker stdout | 2025-09-26 08:37:26,337 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 9-13 securityworker stdout | 2025-09-26 08:37:26,337 [89] [DEBUG] [util.migrate.allocator] Merging with block 11-23 securityworker stdout | 2025-09-26 08:37:26,337 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 23 securityworker stdout | 2025-09-26 08:37:26,337 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:37:26,338 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:26,338 [89] [DEBUG] [util.migrate.allocator] Total range: 23-24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 9-13 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Merging with block 11-23 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 23 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total range: 23-24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:26,338 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:26,338 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 23-24 securityworker stdout | 2025-09-26 08:37:26,338 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 23 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 23-24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 23 securityworker stdout | 2025-09-26 08:37:26,339 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 32, 19, 338838), 23, 24]) gunicorn-registry stdout | 2025-09-26 08:37:26,340 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 23-24 by worker securityworker stdout | 2025-09-26 08:37:26,342 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 23-24 by worker securityworker stdout | 2025-09-26 08:37:26,342 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 23-24 securityworker stdout | 2025-09-26 08:37:26,343 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 23 securityworker stdout | 2025-09-26 08:37:26,343 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 24 securityworker stdout | 2025-09-26 08:37:26,343 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:26,343 [89] [DEBUG] [util.migrate.allocator] Total range: 24-23 securityworker stdout | 2025-09-26 08:37:26,343 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:37:26,343 [89] [DEBUG] [util.migrate.allocator] Total range: 9-24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 23-24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 23 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total range: 24-23 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total range: 9-24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:26,343 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:26,343 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-24 securityworker stdout | 2025-09-26 08:37:26,343 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 20 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 20 gunicorn-registry stdout | 2025-09-26 08:37:26,344 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) securityworker stdout | 2025-09-26 08:37:26,344 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 32, 19, 338838), 12, 16]) securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 12-16 by worker gunicorn-registry stdout | 2025-09-26 08:37:26,348 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['6ea95b48-f26d-4713-bb2f-a985e6e9411c', 1, 0]) securityworker stdout | 2025-09-26 08:37:26,348 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 12-16 by worker securityworker stdout | 2025-09-26 08:37:26,348 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 12-16 securityworker stdout | 2025-09-26 08:37:26,348 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 12-16 securityworker stdout | 2025-09-26 08:37:26,348 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 12-16 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 12-16 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:37:26,348 [89] [DEBUG] [util.migrate.allocator] Total range: 9-24 securityworker stdout | 2025-09-26 08:37:26,348 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:37:26,348 [89] [DEBUG] [util.migrate.allocator] Right range 12-16 securityworker stdout | 2025-09-26 08:37:26,349 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-12 securityworker stdout | 2025-09-26 08:37:26,349 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 9 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total range: 9-24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Right range 12-16 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-12 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 9 securityworker stdout | 2025-09-26 08:37:26,350 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 32, 19, 338838), 9, 13]) gunicorn-registry stdout | 2025-09-26 08:37:26,351 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:26,351 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:26,352 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 9-13 by worker securityworker stdout | 2025-09-26 08:37:26,353 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 9-13 by worker securityworker stdout | 2025-09-26 08:37:26,353 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 9-13 securityworker stdout | 2025-09-26 08:37:26,353 [89] [DEBUG] [util.migrate.allocator] Merging with block 12-16 securityworker stdout | 2025-09-26 08:37:26,353 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 16 securityworker stdout | 2025-09-26 08:37:26,353 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:37:26,353 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:26,353 [89] [DEBUG] [util.migrate.allocator] Total range: 16-24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 9-13 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Merging with block 12-16 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 16 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total range: 16-24 gunicorn-registry stdout | 2025-09-26 08:37:26,353 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> securityworker stdout | 2025-09-26 08:37:26,353 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:26,354 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 16-24 securityworker stdout | 2025-09-26 08:37:26,354 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 20 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 16-24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 20 gunicorn-registry stdout | 2025-09-26 08:37:26,354 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/797c8863-0f4d-4e18-903a-89911f487fa9', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:26,354 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,354 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,354 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,354 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,354 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,354 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,354 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,354 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,354 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:26,354 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:26,354 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:26,354 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:26,355 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,355 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,355 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,355 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/797c8863-0f4d-4e18-903a-89911f487fa9?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/797c8863-0f4d-4e18-903a-89911f487fa9', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/797c8863-0f4d-4e18-903a-89911f487fa9?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/797c8863-0f4d-4e18-903a-89911f487fa9', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:26 +0000] "GET /static/standalonelib/jquery.overscroll.min.js HTTP/1.1" 200 3491 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2256 -) securityworker stdout | 2025-09-26 08:37:26,354 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 32, 19, 338838), 19, 23]) gunicorn-registry stdout | 2025-09-26 08:37:26,355 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,355 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,355 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,355 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,355 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:26,355 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/797c8863-0f4d-4e18-903a-89911f487fa9 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083726Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:26,355 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083726Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 0c992de7fea3fa1437568a472772a24f59ff97b2390718ff8c62dc3f0ff73fe8 gunicorn-registry stdout | 2025-09-26 08:37:26,356 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6c69c5564bceb58a8c1fe183c17f7c8da7f878fbe370eda6ebe343f44c9274c5 gunicorn-registry stdout | 2025-09-26 08:37:26,356 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,356 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:26,356 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem securityworker stdout | 2025-09-26 08:37:26,358 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 19-23 by worker securityworker stdout | 2025-09-26 08:37:26,358 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 19-23 securityworker stdout | 2025-09-26 08:37:26,358 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 19-23 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 19-23 by worker securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 19-23 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 19-23 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:37:26,358 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:37:26,358 [89] [DEBUG] [util.migrate.allocator] Total range: 16-24 securityworker stdout | 2025-09-26 08:37:26,358 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:37:26,358 [89] [DEBUG] [util.migrate.allocator] Left range 19-23 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total range: 16-24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Left range 19-23 securityworker stdout | 2025-09-26 08:37:26,358 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 23-24 securityworker stdout | 2025-09-26 08:37:26,358 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 23 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 23-24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 23 securityworker stdout | 2025-09-26 08:37:26,359 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 32, 19, 338838), 23, 24]) gunicorn-registry stdout | 2025-09-26 08:37:26,361 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/797c8863-0f4d-4e18-903a-89911f487fa9?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:26,361 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9kut-8o8mop-bgt', 'x-amz-id-2': 'mg0l9kut-8o8mop-bgt', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:26 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:26,361 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/797c8863-0f4d-4e18-903a-89911f487fa968d650c6d73ec60008f93585' gunicorn-registry stdout | 2025-09-26 08:37:26,362 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,362 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:26,362 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,362 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9kut-8o8mop-bgt', 'HostId': 'mg0l9kut-8o8mop-bgt', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9kut-8o8mop-bgt', 'x-amz-id-2': 'mg0l9kut-8o8mop-bgt', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:26 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/797c8863-0f4d-4e18-903a-89911f487fa9', 'UploadId': '68d650c6d73ec60008f93585'} gunicorn-registry stdout | 2025-09-26 08:37:26,362 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:26,362 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/797c8863-0f4d-4e18-903a-89911f487fa9', 'UploadId': '68d650c6d73ec60008f93585'} gunicorn-registry stdout | 2025-09-26 08:37:26,363 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,363 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,363 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,363 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler securityworker stdout | 2025-09-26 08:37:26,362 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 23-24 by worker securityworker stdout | 2025-09-26 08:37:26,362 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 23-24 securityworker stdout | 2025-09-26 08:37:26,363 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 19-23 securityworker stdout | 2025-09-26 08:37:26,363 [89] [DEBUG] [util.migrate.allocator] Already merged with block 19-23 securityworker stdout | 2025-09-26 08:37:26,363 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 19 securityworker stdout | 2025-09-26 08:37:26,363 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 23-24 by worker securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 23-24 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 19-23 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Already merged with block 19-23 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 19 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks gunicorn-registry stdout | 2025-09-26 08:37:26,363 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,363 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,363 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:26,363 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:26,363 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:26,363 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:26,363 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:26,363 [89] [DEBUG] [util.migrate.allocator] Total range: 16-19 securityworker stdout | 2025-09-26 08:37:26,363 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:26,363 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 16-19 securityworker stdout | 2025-09-26 08:37:26,363 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 16 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total range: 16-19 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 16-19 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 16 gunicorn-registry stdout | 2025-09-26 08:37:26,363 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,363 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,363 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,363 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/797c8863-0f4d-4e18-903a-89911f487fa9', 'query_string': {'uploadId': '68d650c6d73ec60008f93585'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/797c8863-0f4d-4e18-903a-89911f487fa9', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/797c8863-0f4d-4e18-903a-89911f487fa9?uploadId=68d650c6d73ec60008f93585', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/797c8863-0f4d-4e18-903a-89911f487fa9', 'UploadId': '68d650c6d73ec60008f93585'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:26,363 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,363 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,363 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,363 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,364 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:26,364 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/797c8863-0f4d-4e18-903a-89911f487fa9 gunicorn-registry stdout | uploadId=68d650c6d73ec60008f93585 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083726Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:26,364 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083726Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | b1a987ed9a538acaf64f84c034727b37042f70c859e0b7c7581dd084a4b67568 gunicorn-registry stdout | 2025-09-26 08:37:26,364 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 8e6dae5a0f734b4c2df9d60f200f7cd8b31a90614dca8e734dcfe5a248685fc1 gunicorn-registry stdout | 2025-09-26 08:37:26,364 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,364 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:26,364 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem securityworker stdout | 2025-09-26 08:37:26,365 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 32, 19, 338838), 16, 20]) securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 16-20 by worker securityworker stdout | 2025-09-26 08:37:26,368 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 16-20 by worker securityworker stdout | 2025-09-26 08:37:26,368 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 16-20 securityworker stdout | 2025-09-26 08:37:26,368 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 16 securityworker stdout | 2025-09-26 08:37:26,368 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 20 securityworker stdout | 2025-09-26 08:37:26,368 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:26,368 [89] [DEBUG] [util.migrate.allocator] Total range: 20-16 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 16-20 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 16 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 20 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] Total range: 20-16 securityworker stderr | 2025-09-26 08:37:26 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:37:26,368 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:37:26,368 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stdout | 2025-09-26 08:37:26,369 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:49 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:37:26,372 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/797c8863-0f4d-4e18-903a-89911f487fa9?uploadId=68d650c6d73ec60008f93585 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:26,372 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9kv2-8thdxr-kqw', 'x-amz-id-2': 'mg0l9kv2-8thdxr-kqw', 'Date': 'Fri, 26 Sep 2025 08:37:26 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:26,372 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:26,372 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,373 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:26,373 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,373 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9kv2-8thdxr-kqw', 'HostId': 'mg0l9kv2-8thdxr-kqw', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9kv2-8thdxr-kqw', 'x-amz-id-2': 'mg0l9kv2-8thdxr-kqw', 'date': 'Fri, 26 Sep 2025 08:37:26 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:26,373 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 6ea95b48-f26d-4713-bb2f-a985e6e9411c took 0.021300554275512695 seconds gunicorn-registry stdout | 2025-09-26 08:37:26,374 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['6ea95b48-f26d-4713-bb2f-a985e6e9411c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,378 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '6ea95b48-f26d-4713-bb2f-a985e6e9411c', 80931, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwYXRpb25zaGlwVHlwZSI6IkdFTkVSQVRFRF9GUk9NIn1dfX1iMjIxNTNmYzZhNGY4ZWM5NmRkMTM1OCIsInJlbCMAAAAAAAAAAOAJAAAAAACFt8pBh/Qw9xl07TZSjdPdsBUPgmgMxf5KR8/86VE6npRiLg==', 9, '{"chunks": [["uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606", 0, 80931]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 26, 31402), None, None, 68]) gunicorn-registry stdout | 2025-09-26 08:37:26,382 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:26,383 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:26,383 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:26,384 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:26,385 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/b8/b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7'} gunicorn-registry stdout | 2025-09-26 08:37:26,385 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,385 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,385 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,385 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,385 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,385 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,385 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,385 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:26,385 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:26,385 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:26,385 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:26,386 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,386 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,386 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,386 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/b8/b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b8/b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b8/b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/b8/b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:26,386 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,386 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,386 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,386 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,386 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:26,387 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b8/b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083726Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:26,387 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083726Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 9fb0df20903affbd6df2e6c359391cb0854f3f4bfcbe5eefd97f60cb13b436db gunicorn-registry stdout | 2025-09-26 08:37:26,387 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b8893f77ff6497a2433a2a2b926273b7256b123b8e9b6548f964ad9f6d97a516 gunicorn-registry stdout | 2025-09-26 08:37:26,387 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,387 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:26,387 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem repositoryactioncounter stdout | 2025-09-26 08:37:26,390 [80] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositoryactioncounter.py', 'pid': '80'} gunicorn-registry stdout | 2025-09-26 08:37:26,394 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b8/b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7 HTTP/1.1" 404 0 nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:26 +0000] "GET /static/ldn/jquery.js-3c5c5966471e.js HTTP/1.1" 200 102811 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2247 -) gunicorn-registry stdout | 2025-09-26 08:37:26,395 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9kvp-976xvw-qjz', 'x-amz-id-2': 'mg0l9kvp-976xvw-qjz', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:26 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:26,395 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:26,395 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,395 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:26,395 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,395 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:26,395 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:26,395 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/b8/b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7 gunicorn-registry stdout | 2025-09-26 08:37:26,396 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:26,396 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:26,396 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:26,396 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:26,396 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,396 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,397 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,397 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,397 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,397 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,397 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,397 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:26,397 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:26,397 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:26,397 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:26,397 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,398 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,398 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,398 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:26,398 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,398 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,398 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,398 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,398 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,399 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:26,399 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083726Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:26,399 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083726Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 5d2569c425f928514b8ea116766a905319020fcf0eca0053fe86c8beea021996 gunicorn-registry stdout | 2025-09-26 08:37:26,399 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 34d370af2b0b47954f9def80f605636e9994cf01f2d215188eecbf3404e65193 gunicorn-registry stdout | 2025-09-26 08:37:26,399 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,399 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,400 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:26,400 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:26,405 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:26,405 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9kw1-9em0rr-89q', 'x-amz-id-2': 'mg0l9kw1-9em0rr-89q', 'ETag': '"2c41fc2bfbfb7be645fb362fd3b1d215-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:26 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '80931', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:26 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:26,405 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:26,406 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,406 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:26,406 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,406 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b8/b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:26,406 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:26,407 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b8/b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:26,407 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b8/b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:26,407 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b8/b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b8/b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7', 'extra_args': {}, 'callbacks': [], 'size': 80931} gunicorn-registry stdout | 2025-09-26 08:37:26,407 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,407 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,407 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,407 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,407 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,407 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,407 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,407 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,408 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,408 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,408 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:26,408 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:26,408 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:26,408 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:26,408 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,408 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,408 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,408 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/b8/b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b8/b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b8/b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/b8/b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:26,409 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,409 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,409 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,409 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,409 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,409 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:26,409 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b8/b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/1d30124d-9c8e-40d5-82e3-17b0b7ccb606 gunicorn-registry stdout | x-amz-date:20250926T083726Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:26,409 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083726Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 9bd2667eb6b3ec0d5a07ab55fa64a9b7dcced46962533a483655a9118c7ba4ce gunicorn-registry stdout | 2025-09-26 08:37:26,409 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 80322367afde67621830d8b4e2c92994be46b88174d776e40554cf14ef2c14ea gunicorn-registry stdout | 2025-09-26 08:37:26,410 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,410 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,410 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:26,410 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:26,411 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:26,436 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b8/b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:26,437 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9kwb-9ks42f-fvy', 'x-amz-id-2': 'mg0l9kwb-9ks42f-fvy', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:26 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:26,437 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:26.000Z"2c41fc2bfbfb7be645fb362fd3b1d215-1"' gunicorn-registry stdout | 2025-09-26 08:37:26,437 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,437 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:26,438 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:26,438 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:26,438 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:26,438 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 6ea95b48-f26d-4713-bb2f-a985e6e9411c with digest sha256:b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7 took 0.04302668571472168 seconds gunicorn-registry stdout | 2025-09-26 08:37:26,439 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['6ea95b48-f26d-4713-bb2f-a985e6e9411c', 1, 0]) notificationworker stdout | 2025-09-26 08:37:26,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:37:26,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:34.441526+00:00 (in 8.000999 seconds) notificationworker stdout | 2025-09-26 08:37:26,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:36 GMT)" (scheduled at 2025-09-26 08:37:26.440077+00:00) notificationworker stdout | 2025-09-26 08:37:26,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:37:26,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 37, 26, 440923), True, datetime.datetime(2025, 9, 26, 8, 37, 26, 440923), 0, 'notification/%', 50, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,442 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,444 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['4663289d-e869-403d-8f3b-315b36b86ac5', 80931, None, True, True, 'sha256:b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7']) gunicorn-registry stdout | 2025-09-26 08:37:26,446 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [70, 9]) gunicorn-registry stdout | 2025-09-26 08:37:26,448 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:26,449 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 70, datetime.datetime(2025, 9, 26, 8, 37, 26, 449556), datetime.datetime(2025, 9, 26, 9, 37, 26, 449538)]) gunicorn-registry stdout | 2025-09-26 08:37:26,451 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [68]) notificationworker stdout | 2025-09-26 08:37:26,454 [68] [DEBUG] [workers.queueworker] No more work. gunicorn-registry stdout | 2025-09-26 08:37:26,455 [257] [DEBUG] [app] Ending request: urn:request:ac4f8c18-23e7-4be4-906c-3749e87c41df (/v2/testorg2/alpine/blobs/uploads/6ea95b48-f26d-4713-bb2f-a985e6e9411c) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:ac4f8c18-23e7-4be4-906c-3749e87c41df', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/6ea95b48-f26d-4713-bb2f-a985e6e9411c?digest=sha256:b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7', 'path': '/v2/testorg2/alpine/blobs/uploads/6ea95b48-f26d-4713-bb2f-a985e6e9411c', 'parameters': {'digest': 'sha256:b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} notificationworker stdout | 2025-09-26 08:37:26,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:37:26,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:36 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:37:26,455 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:26,455 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:26,455 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:26 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/6ea95b48-f26d-4713-bb2f-a985e6e9411c?digest=sha256%3Ab8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:26 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/6ea95b48-f26d-4713-bb2f-a985e6e9411c?digest=sha256%3Ab8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.145 1853 0.145) expiredappspecifictokenworker stdout | 2025-09-26 08:37:26,498 [55] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'expiredappspecifictokenworker.py', 'pid': '55'} gunicorn-web stdout | 2025-09-26 08:37:26,541 [240] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '240'} gunicorn-web stdout | 2025-09-26 08:37:26,546 [239] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '239'} gunicorn-web stdout | 2025-09-26 08:37:26,623 [242] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '242'} gunicorn-web stdout | 2025-09-26 08:37:26,627 [61] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '61'} gunicorn-web stdout | 2025-09-26 08:37:26,633 [241] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '241'} nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:26 +0000] "GET /static/ldn/cal-heatmap.min.js-8ffad728269a.js HTTP/1.1" 200 13004 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2256 -) builder stdout | 2025-09-26 08:37:26,811 [51] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'builder.py', 'pid': '51'} nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:26 +0000] "GET /static/ldn/angular-recaptcha.min.js-23859fca3602.js HTTP/1.1" 200 1793 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2262 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:27 +0000] "GET /static/ldn/ng-tags-input.min.js-fa3026ba8409.js HTTP/1.1" 200 6102 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2258 -) gunicorn-registry stdout | 2025-09-26 08:37:27,184 [257] [DEBUG] [app] Starting request: urn:request:f790d903-6d15-4129-9997-991d34f120d5 (/v2/testorg2/alpine/blobs/sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:27,184 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:27,184 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:27,184 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:27,185 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:27,185 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:27,185 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:27,185 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:27,186 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:27,186 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,191 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,195 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:27,195 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3_2 gunicorn-registry stdout | 2025-09-26 08:37:27,196 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:27,196 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,200 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,204 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,208 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,212 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,216 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3_2: None gunicorn-registry stdout | 2025-09-26 08:37:27,216 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3_2: None gunicorn-registry stdout | 2025-09-26 08:37:27,216 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:27,216 [257] [DEBUG] [app] Ending request: urn:request:f790d903-6d15-4129-9997-991d34f120d5 (/v2/testorg2/alpine/blobs/sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:f790d903-6d15-4129-9997-991d34f120d5', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 'path': '/v2/testorg2/alpine/blobs/sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:27,216 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:27,216 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:27,217 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:27 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:27 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.033 1718 0.034) securityworker stdout | 2025-09-26 08:37:27,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:37:27,336 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:49.334273+00:00 (in 21.997678 seconds) securityworker stdout | 2025-09-26 08:37:27,336 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:57 GMT)" (scheduled at 2025-09-26 08:37:27.335452+00:00) securityworker stdout | 2025-09-26 08:37:27,337 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:37:27,337 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state gunicorn-registry stdout | 2025-09-26 08:37:27,338 [257] [DEBUG] [app] Starting request: urn:request:24891553-6674-4333-82cd-899686e6d648 (/v2/testorg2/alpine/blobs/sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:27,338 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:27,338 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:27,338 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:27 +0000] "GET /static/ldn/angular-sanitize.min.js-c4e272d90cfb.js HTTP/1.1" 200 3295 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2261 -) securityworker stdout | 2025-09-26 08:37:27,340 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None gunicorn-registry stdout | 2025-09-26 08:37:27,340 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:27,341 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:27,341 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:27,341 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:27,341 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine securityworker stdout | 2025-09-26 08:37:27,341 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:37:27,341 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,345 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,349 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:27,349 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3_2 gunicorn-registry stdout | 2025-09-26 08:37:27,350 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3_2; calling loader nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:27 +0000] "GET /static/ldn/angular-animate.min.js-88cbe10f92f2.js HTTP/1.1" 200 10421 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2260 -) gunicorn-registry stdout | 2025-09-26 08:37:27,351 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) securityworker stdout | 2025-09-26 08:37:27,354 [89] [DEBUG] [util.migrate.allocator] Total range: 1-29 securityworker stderr | 2025-09-26 08:37:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-29 securityworker stderr | 2025-09-26 08:37:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:37:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-29 securityworker stdout | 2025-09-26 08:37:27,354 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:27,354 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-29 securityworker stdout | 2025-09-26 08:37:27,354 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:37:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:37:27,354 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 29]) gunicorn-registry stdout | 2025-09-26 08:37:27,355 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,359 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:27 +0000] "GET /static/ldn/angular-cookies.min.js-d418ab53e9d7.js HTTP/1.1" 200 846 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2260 -) securityworker stdout | 2025-09-26 08:37:27,360 [89] [DEBUG] [util.migrate.allocator] Found 5 candidates, processing block start: 1 end: 29 by worker securityworker stderr | 2025-09-26 08:37:27 [89] [DEBUG] [util.migrate.allocator] Found 5 candidates, processing block start: 1 end: 29 by worker securityworker stdout | 2025-09-26 08:37:27,360 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [24, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,363 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 1, 0]) securityworker stdout | 2025-09-26 08:37:27,365 [89] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,368 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 1, 0]) securityworker stdout | 2025-09-26 08:37:27,369 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['4d86c929-7d38-4f15-940e-6cd3340885eb']) gunicorn-registry stdout | 2025-09-26 08:37:27,372 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3_2: None gunicorn-registry stdout | 2025-09-26 08:37:27,372 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3_2: None gunicorn-registry stdout | 2025-09-26 08:37:27,372 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' securityworker stdout | 2025-09-26 08:37:27,372 [89] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:27,373 [257] [DEBUG] [app] Ending request: urn:request:24891553-6674-4333-82cd-899686e6d648 (/v2/testorg2/alpine/blobs/sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:24891553-6674-4333-82cd-899686e6d648', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 'path': '/v2/testorg2/alpine/blobs/sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:27,373 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:27,373 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. securityworker stdout | 2025-09-26 08:37:27,373 [89] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7f614e757ec0> nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:27 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.037 1718 0.037) securityworker stdout | 2025-09-26 08:37:27,374 [89] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8'} securityworker stdout | 2025-09-26 08:37:27,374 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,374 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,374 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,374 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:27 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" securityworker stdout | 2025-09-26 08:37:27,374 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:27,374 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,374 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:27,374 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:27,374 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:27,374 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:27,374 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:27,374 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:27,374 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,375 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,375 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,375 [89] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} securityworker stdout | 2025-09-26 08:37:27,375 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:27,375 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:27,375 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,375 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,375 [89] [DEBUG] [botocore.auth] Calculating signature using v4 auth. securityworker stdout | 2025-09-26 08:37:27,375 [89] [DEBUG] [botocore.auth] CanonicalRequest: securityworker stdout | GET securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8 securityworker stdout | host:s3.openshift-storage.svc.cluster.local securityworker stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | x-amz-date:20250926T083727Z securityworker stdout | host;x-amz-content-sha256;x-amz-date securityworker stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | 2025-09-26 08:37:27,375 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | AWS4-HMAC-SHA256 securityworker stdout | 20250926T083727Z securityworker stdout | 20250926/us-east-1/s3/aws4_request securityworker stdout | 7bd8e12b4908e8667e1a349858c4912fd41e7e157046758ca002932e415ca794 securityworker stdout | 2025-09-26 08:37:27,375 [89] [DEBUG] [botocore.auth] Signature: securityworker stdout | 30b248aa1c361de42b7206cea79cac1a74629be143a893ff2428a31e23d62def securityworker stdout | 2025-09-26 08:37:27,375 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,376 [89] [DEBUG] [botocore.endpoint] Sending http request: securityworker stdout | 2025-09-26 08:37:27,376 [89] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem securityworker stdout | 2025-09-26 08:37:27,391 [89] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8 HTTP/1.1" 200 241 securityworker stdout | 2025-09-26 08:37:27,391 [89] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ln5-902huc-mf0', 'x-amz-id-2': 'mg0l9ln5-902huc-mf0', 'ETag': '"440f9ff3b78db3b521941ee393b6bc91-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:19 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:27 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} securityworker stdout | 2025-09-26 08:37:27,391 [89] [DEBUG] [botocore.parsers] Response body: securityworker stdout | securityworker stdout | 2025-09-26 08:37:27,392 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,392 [89] [DEBUG] [botocore.retryhandler] No retry needed. securityworker stdout | 2025-09-26 08:37:27,392 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:27,392 [89] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9ln5-902huc-mf0', 'HostId': 'mg0l9ln5-902huc-mf0', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ln5-902huc-mf0', 'x-amz-id-2': 'mg0l9ln5-902huc-mf0', 'etag': '"440f9ff3b78db3b521941ee393b6bc91-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:19 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:27 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 19, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"440f9ff3b78db3b521941ee393b6bc91-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } securityworker stdout | 2025-09-26 08:37:27,394 [89] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL ((SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "manifestblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1") UNION ALL (SELECT * FROM (SELECT "t5"."id", "t5"."content_checksum", "t5"."image_size", "t5"."uuid", "t5"."cas_path", "t5"."uncompressed_size" FROM "imagestorage" AS "t5" INNER JOIN "manifestblob" AS "t6" ON ("t6"."blob_id" = "t5"."id") WHERE (("t6"."repository_id" = %s) AND ("t5"."content_checksum" = %s)) LIMIT %s) AS "q2"))', [3, 'sha256:bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 1, 3, 'sha256:a7eef7334b05270ba880c6da8e0bfd02e4d572564778cd3d2ba6336590044d71', 1, 3, 'sha256:e2032b74eea3f583675916b18f6e83f03646c5c21219b1ad5fc2e3fd1fc0a1e6', 1]) securityworker stdout | 2025-09-26 08:37:27,399 [89] [ERROR] [data.registry_model.registry_oci_model] Could not list manifest layers `24` securityworker stdout | Traceback (most recent call last): securityworker stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 666, in list_manifest_layers securityworker stdout | layers = self._list_manifest_layers( securityworker stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ securityworker stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 1263, in _list_manifest_layers securityworker stdout | for layer in layers: securityworker stdout | ^^^^^^ securityworker stdout | File "/quay-registry/image/oci/manifest.py", line 308, in get_layers securityworker stdout | command=image_layer.history.command, securityworker stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ securityworker stdout | AttributeError: 'NoneType' object has no attribute 'command' securityworker stdout | 2025-09-26 08:37:27,401 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) securityworker stdout | 2025-09-26 08:37:27,404 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) securityworker stdout | 2025-09-26 08:37:27,408 [89] [WARNING] [data.secscan_model.secscan_v4_model] Cannot index 4/alpine@sha256:12a8620b724859d164848054d3949a02212c5ac72fa80291e2e506c15cfcc4c6 due to manifest being invalid (manifest has no layers) securityworker stdout | 2025-09-26 08:37:27,408 [89] [DEBUG] [peewee] ('DELETE FROM "manifestsecuritystatus" WHERE (("manifestsecuritystatus"."manifest_id" = %s) AND ("manifestsecuritystatus"."repository_id" = %s))', [24, 3]) securityworker stdout | 2025-09-26 08:37:27,410 [89] [DEBUG] [peewee] ('INSERT INTO "manifestsecuritystatus" ("manifest_id", "repository_id", "index_status", "error_json", "last_indexed", "indexer_hash", "indexer_version", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifestsecuritystatus"."id"', [24, 3, -2, '{}', datetime.datetime(2025, 9, 26, 8, 37, 27, 410516), 'none', 4, '{}']) securityworker stdout | 2025-09-26 08:37:27,414 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [25, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,416 [257] [DEBUG] [app] Starting request: urn:request:1968bcfd-7802-464d-b2c1-eb1a66713de7 (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:27,416 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:27,416 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:27,416 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:27,417 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:27,417 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:27,417 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:27,417 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:27,417 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:27,418 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) securityworker stdout | 2025-09-26 08:37:27,419 [89] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,422 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) securityworker stdout | 2025-09-26 08:37:27,422 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['8b0bb733-7b6e-4402-aac7-06ada985b453']) securityworker stdout | 2025-09-26 08:37:27,426 [89] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:27,426 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) securityworker stdout | 2025-09-26 08:37:27,427 [89] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7f614e757ec0> securityworker stdout | 2025-09-26 08:37:27,427 [89] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612'} securityworker stdout | 2025-09-26 08:37:27,427 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,427 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,427 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,427 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:27,427 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,427 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:27,427 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:27,427 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:27,427 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:27,427 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:27,427 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:27,427 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,428 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,428 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,428 [89] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} securityworker stdout | 2025-09-26 08:37:27,428 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:27,428 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:27,428 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,428 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,428 [89] [DEBUG] [botocore.auth] Calculating signature using v4 auth. securityworker stdout | 2025-09-26 08:37:27,428 [89] [DEBUG] [botocore.auth] CanonicalRequest: securityworker stdout | GET securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612 securityworker stdout | host:s3.openshift-storage.svc.cluster.local securityworker stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | x-amz-date:20250926T083727Z securityworker stdout | host;x-amz-content-sha256;x-amz-date securityworker stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | 2025-09-26 08:37:27,428 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | AWS4-HMAC-SHA256 securityworker stdout | 20250926T083727Z securityworker stdout | 20250926/us-east-1/s3/aws4_request securityworker stdout | 3bffa6bb4ae994c915b0960cac0e99430b71d6707c14f19fa320642465b2760a securityworker stdout | 2025-09-26 08:37:27,428 [89] [DEBUG] [botocore.auth] Signature: securityworker stdout | ff0611cf233fd793bcb7ea6c49fcc56f3bc3e2a0ed6ffe9e48a1a3f808c58d06 securityworker stdout | 2025-09-26 08:37:27,429 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,429 [89] [DEBUG] [botocore.endpoint] Sending http request: securityworker stdout | 2025-09-26 08:37:27,429 [89] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:27,429 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,433 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,437 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,440 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) securityworker stdout | 2025-09-26 08:37:27,443 [89] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612 HTTP/1.1" 200 597 securityworker stdout | 2025-09-26 08:37:27,443 [89] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9lom-9vj3j2-4n', 'x-amz-id-2': 'mg0l9lom-9vj3j2-4n', 'ETag': '"c2138b8b08a06c698b41a1835d8c262b-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:21 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '597', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:27 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} securityworker stdout | 2025-09-26 08:37:27,444 [89] [DEBUG] [botocore.parsers] Response body: securityworker stdout | gunicorn-registry stdout | 2025-09-26 08:37:27,444 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) securityworker stdout | 2025-09-26 08:37:27,444 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,444 [89] [DEBUG] [botocore.retryhandler] No retry needed. securityworker stdout | 2025-09-26 08:37:27,444 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:27,444 [89] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9lom-9vj3j2-4n', 'HostId': 'mg0l9lom-9vj3j2-4n', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9lom-9vj3j2-4n', 'x-amz-id-2': 'mg0l9lom-9vj3j2-4n', 'etag': '"c2138b8b08a06c698b41a1835d8c262b-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:21 GMT', 'content-type': 'application/octet-stream', 'content-length': '597', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:27 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 21, tzinfo=tzutc()), 'ContentLength': 597, 'ETag': '"c2138b8b08a06c698b41a1835d8c262b-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } securityworker stdout | 2025-09-26 08:37:27,446 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,448 [257] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, 'c4a23be2-5f06-4175-a1ac-013017bbefbf', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 27, 448345)]) securityworker stdout | 2025-09-26 08:37:27,450 [89] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "manifestblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [3, 'sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606', 1, 3, 'sha256:02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 1]) gunicorn-registry stdout | 2025-09-26 08:37:27,453 [257] [DEBUG] [app] Ending request: urn:request:1968bcfd-7802-464d-b2c1-eb1a66713de7 (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:1968bcfd-7802-464d-b2c1-eb1a66713de7', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:27,453 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:27,453 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:27,453 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:27 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:27 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.038 1697 0.038) securityworker stdout | 2025-09-26 08:37:27,455 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['63506cb9-2833-42d6-9ba6-7974d28ab60e']) securityworker stdout | 2025-09-26 08:37:27,458 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['6d9afe7c-4cd4-46e0-8000-0876c9384bb4']) securityworker stdout | 2025-09-26 08:37:27,462 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."manifest_id", "t1"."repository_id", "t1"."index_status", "t1"."error_json", "t1"."last_indexed", "t1"."indexer_hash", "t1"."indexer_version", "t1"."metadata_json" FROM "manifestsecuritystatus" AS "t1" WHERE ("t1"."manifest_id" = %s)', [25]) securityworker stdout | 2025-09-26 08:37:27,465 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) securityworker stdout | 2025-09-26 08:37:27,469 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) securityworker stdout | 2025-09-26 08:37:27,473 [89] [DEBUG] [data.secscan_model.secscan_v4_model] Indexing manifest [25] 4/alpine@sha256:4562b419adf48c5f3c763995d6014c123b3ce1d2e0ef2613b189779caa787192 securityworker stdout | 2025-09-26 08:37:27,473 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,474 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,474 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,474 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:27,474 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,474 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:27,474 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:27,474 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:27,474 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:27,474 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:27,474 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:27,474 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:27,474 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,474 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:37:27,474 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:37:27,474 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876447 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606 securityworker stdout | 2025-09-26 08:37:27,480 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EUTNMQ0pwWVhRaU9qRTNOVGc0TnpVNE5EY3NJbVY0Y0NJNk1UYzFPRGczTmpRME55d2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4MlpTODJaVEUzTkRJeU5tVmhOamt3WTJWa05UVXdaVFUyTkRFeU5EbGhOREV5WTJSaVpXWmtNbVF3T1RnM01XWXpaVFkwWVdJMU1qRXpOMkUxTkdKaE5qQTJQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDBsTWtaSFVHOW1NazhsTWtKYWNHTjRlSEI0TmtWSlJqRm5abFJwVDB4ckpUTkVKa1Y0Y0dseVpYTTlNVGMxT0RnM05qUTBOeUlzSW1odmMzUWlPaUp6TXk1dmNHVnVjMmhwWm5RdGMzUnZjbUZuWlM1emRtTXVZMngxYzNSbGNpNXNiMk5oYkRvME5ETWlMQ0p6WTJobGJXVWlPaUpvZEhSd2N5SjlYU3dpWTI5dWRHVjRkQ0k2ZTMxOS5HY0ZCVWVIUlotSU5lY2FhbzYtQnhzNGtNZ2xHcnp6aDVxR2txTDNrWmExU1FBeWZRRUV2c0N3elhQTVIya1ZKYnVIVnhZNmpuQkFPcTBlQnBfWTNhMkljTmRlaV9WOU5sZEJfbkZPUzVTX0tsUGpLYzBYZHU5WHV5VVVyUTR3QmZLeHNJa0E5bnlGcUJ0dzByZUhuVjd1LXRQX24wbWwza0VuS0xGeG1VQUxoTHY2OTA5V19ydnFTOGVCMXNnUzUyQmVMWkNtT1ZYaVB5cnJoSmtfdEFBUmpFT0ZXT3FscE1CR0ZRTk1jTXB4WUZsc203TEJKOUFxU3kwYmYyS3IzVXhWdTZKc05yME0xekw0OXhtS0MxbkprQ3dMSmo0a3p4YzVoRDBwM0dQMDNkMGFSS1l6VFFoZWZNeW5ONWxrNkQzM2x2V3JmYzVtZ2cteGJlaW1RS2c=/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=%2FGPof2O%2BZpcxxpx6EIF1gfTiOLk%3D&Expires=1758876447 securityworker stdout | 2025-09-26 08:37:27,480 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,480 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,480 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,480 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:27,481 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,481 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:27,481 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:27,481 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:27,481 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:27,481 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:27,481 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:27,481 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:27,481 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,482 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:37:27,482 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:37:27,482 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876447 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606 securityworker stdout | 2025-09-26 08:37:27,488 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EUTNMQ0pwWVhRaU9qRTNOVGc0TnpVNE5EY3NJbVY0Y0NJNk1UYzFPRGczTmpRME55d2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4MlpTODJaVEUzTkRJeU5tVmhOamt3WTJWa05UVXdaVFUyTkRFeU5EbGhOREV5WTJSaVpXWmtNbVF3T1RnM01XWXpaVFkwWVdJMU1qRXpOMkUxTkdKaE5qQTJQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDBsTWtaSFVHOW1NazhsTWtKYWNHTjRlSEI0TmtWSlJqRm5abFJwVDB4ckpUTkVKa1Y0Y0dseVpYTTlNVGMxT0RnM05qUTBOeUlzSW1odmMzUWlPaUp6TXk1dmNHVnVjMmhwWm5RdGMzUnZjbUZuWlM1emRtTXVZMngxYzNSbGNpNXNiMk5oYkRvME5ETWlMQ0p6WTJobGJXVWlPaUpvZEhSd2N5SjlYU3dpWTI5dWRHVjRkQ0k2ZTMxOS5HY0ZCVWVIUlotSU5lY2FhbzYtQnhzNGtNZ2xHcnp6aDVxR2txTDNrWmExU1FBeWZRRUV2c0N3elhQTVIya1ZKYnVIVnhZNmpuQkFPcTBlQnBfWTNhMkljTmRlaV9WOU5sZEJfbkZPUzVTX0tsUGpLYzBYZHU5WHV5VVVyUTR3QmZLeHNJa0E5bnlGcUJ0dzByZUhuVjd1LXRQX24wbWwza0VuS0xGeG1VQUxoTHY2OTA5V19ydnFTOGVCMXNnUzUyQmVMWkNtT1ZYaVB5cnJoSmtfdEFBUmpFT0ZXT3FscE1CR0ZRTk1jTXB4WUZsc203TEJKOUFxU3kwYmYyS3IzVXhWdTZKc05yME0xekw0OXhtS0MxbkprQ3dMSmo0a3p4YzVoRDBwM0dQMDNkMGFSS1l6VFFoZWZNeW5ONWxrNkQzM2x2V3JmYzVtZ2cteGJlaW1RS2c=/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6e/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=%2FGPof2O%2BZpcxxpx6EIF1gfTiOLk%3D&Expires=1758876447 securityworker stdout | 2025-09-26 08:37:27,488 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,488 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,488 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,488 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:27,488 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,488 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:27,488 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:27,488 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:27,488 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:27,488 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:27,488 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:27,489 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:27,489 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,489 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:37:27,489 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:37:27,489 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876447 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 securityworker stdout | 2025-09-26 08:37:27,495 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EUTNMQ0pwWVhRaU9qRTNOVGc0TnpVNE5EY3NJbVY0Y0NJNk1UYzFPRGczTmpRME55d2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE15OWhNMlZrT1RWallXVmlNREptWm1VMk9HTmtaRGxtWkRnME5EQTJOamd3WVdVNU0yUTJNek5qWWpFMk5ESXlaREF3WlRoaE4yTXlNamsxTldJME5tUTBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFXUW1VMVJ6aDJORFJ0WTBSSmQyMVhhakJPVUhKUWVUTXhXa0VsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRRM0lpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuMGFldzJfVHFvWmJDWGRfeWpiUFRtWVRzSGNrcHRiZktISi04Vlo1b0p4NHBaaGV2Q0dNcTI0endLSXoySC1wVnJGRUIwVnhNdmN6UmN0aVZrYXdwaF9obEpGdG5kUXJvUmVTclhGLUNjY3RfZ0wxMW1PR01QU25YQjRwT293LUsyRjZOUHVUUnZWNUp3TEppNDVScFVGUU5JSWgtUDBKRXNHNGQ3eFZETm1SYlE1SUk2eE1weHpZVGxxSm01MXhXSExOX2JhZ0NYeVVaUUlrMFRxeW9EZ2ZXcW5talpkcVhBYjRuNllVQ25DSFhCSS1qQTBMUFpGOGxTT1dVWG12bUwtZnNIRzZVODlLbDNYSjVhTnIxMkNjUG5MWW1ZQUFlVW1maUp1N2hMQXFTVm1SaVNQOWNGczhFUVc0UmFRWFlqQWVVdG9MVHhRcDlUV09QNExidERn/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=VBe5G8v44mcDIwmWj0NPrPy31ZA%3D&Expires=1758876447 securityworker stdout | 2025-09-26 08:37:27,495 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,495 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,495 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,495 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:27,495 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,495 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:27,495 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:27,495 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:27,495 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:27,495 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:27,495 [250] [DEBUG] [app] Starting request: urn:request:effad454-e146-4496-8d9e-0b7b50070f9c (/v2/testorg2/alpine/blobs/uploads/c4a23be2-5f06-4175-a1ac-013017bbefbf) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:27,495 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'c4a23be2-5f06-4175-a1ac-013017bbefbf', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} securityworker stdout | 2025-09-26 08:37:27,495 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:27,495 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:27,495 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:27,495 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:37:27,495 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:37:27,495 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876447 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 gunicorn-registry stdout | 2025-09-26 08:37:27,495 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:27,496 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:27,497 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:27,497 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:27,497 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:27,497 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:27,497 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:27,498 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) securityworker stdout | 2025-09-26 08:37:27,502 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EUTNMQ0pwWVhRaU9qRTNOVGc0TnpVNE5EY3NJbVY0Y0NJNk1UYzFPRGczTmpRME55d2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE15OWhNMlZrT1RWallXVmlNREptWm1VMk9HTmtaRGxtWkRnME5EQTJOamd3WVdVNU0yUTJNek5qWWpFMk5ESXlaREF3WlRoaE4yTXlNamsxTldJME5tUTBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFXUW1VMVJ6aDJORFJ0WTBSSmQyMVhhakJPVUhKUWVUTXhXa0VsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRRM0lpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuMGFldzJfVHFvWmJDWGRfeWpiUFRtWVRzSGNrcHRiZktISi04Vlo1b0p4NHBaaGV2Q0dNcTI0endLSXoySC1wVnJGRUIwVnhNdmN6UmN0aVZrYXdwaF9obEpGdG5kUXJvUmVTclhGLUNjY3RfZ0wxMW1PR01QU25YQjRwT293LUsyRjZOUHVUUnZWNUp3TEppNDVScFVGUU5JSWgtUDBKRXNHNGQ3eFZETm1SYlE1SUk2eE1weHpZVGxxSm01MXhXSExOX2JhZ0NYeVVaUUlrMFRxeW9EZ2ZXcW5talpkcVhBYjRuNllVQ25DSFhCSS1qQTBMUFpGOGxTT1dVWG12bUwtZnNIRzZVODlLbDNYSjVhTnIxMkNjUG5MWW1ZQUFlVW1maUp1N2hMQXFTVm1SaVNQOWNGczhFUVc0UmFRWFlqQWVVdG9MVHhRcDlUV09QNExidERn/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=VBe5G8v44mcDIwmWj0NPrPy31ZA%3D&Expires=1758876447 securityworker stdout | 2025-09-26 08:37:27,502 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:37:27,502 [89] [DEBUG] [util.secscan.v4.api] POSTing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_report gunicorn-registry stdout | 2025-09-26 08:37:27,503 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,506 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,510 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,513 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,516 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,520 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,524 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:27,528 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['c4a23be2-5f06-4175-a1ac-013017bbefbf', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:27,531 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:27,531 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:27,532 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:27,533 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:27,534 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:27,534 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,534 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,534 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,534 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,534 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:27,534 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,534 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,534 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:27,534 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:27,534 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:27,534 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:27,534 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:27,535 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,535 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,535 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,535 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:27,535 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:27,535 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:27,535 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,535 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,536 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:27,536 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083727Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:27,536 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083727Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 257804e1627a8c495dcbed2ad54ad4ae3522e465c9f353acb46c6afdc17d99eb gunicorn-registry stdout | 2025-09-26 08:37:27,536 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 04d79f14223cd482460afb86e9909b9f4350bab97cd34fdeff58dd6cb8025004 gunicorn-registry stdout | 2025-09-26 08:37:27,536 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,536 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:27,536 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:27,543 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:27,543 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9lrm-bnu1c4-ioo', 'x-amz-id-2': 'mg0l9lrm-bnu1c4-ioo', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:27 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:27,544 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b168d650c7d73ec60008f93591' gunicorn-registry stdout | 2025-09-26 08:37:27,544 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,544 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:27,544 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:27,544 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9lrm-bnu1c4-ioo', 'HostId': 'mg0l9lrm-bnu1c4-ioo', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9lrm-bnu1c4-ioo', 'x-amz-id-2': 'mg0l9lrm-bnu1c4-ioo', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:27 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1', 'UploadId': '68d650c7d73ec60008f93591'} gunicorn-registry stdout | 2025-09-26 08:37:27,544 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:27 +0000] "GET /static/img/RedHat.svg HTTP/1.1" 200 1245 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2292 -) notificationworker stdout | 2025-09-26 08:37:27,707 [68] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'notificationworker.py', 'pid': '68'} gunicorn-registry stdout | 2025-09-26 08:37:27,850 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:27,851 [250] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:27,851 [250] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1', 'UploadId': '68d650c7d73ec60008f93591', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dab7150>, 'ContentLength': 3727111} gunicorn-registry stdout | 2025-09-26 08:37:27,851 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,851 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,852 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,852 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,852 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:27,852 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,852 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,852 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:27,852 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:27,852 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:27,852 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:27,852 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:27,852 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,859 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,860 [250] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:27,860 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,860 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,860 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1', 'query_string': {'uploadId': '68d650c7d73ec60008f93591', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '3727111', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': '3phJUsKtDp9e2j1ANR7zhg==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dab7150>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1?uploadId=68d650c7d73ec60008f93591&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1', 'UploadId': '68d650c7d73ec60008f93591', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dab7150>, 'ContentLength': 3727111}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:27,860 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:27,860 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:27,860 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,860 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,860 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:27,861 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1 gunicorn-registry stdout | partNumber=1&uploadId=68d650c7d73ec60008f93591 gunicorn-registry stdout | content-length:3727111 gunicorn-registry stdout | content-md5:3phJUsKtDp9e2j1ANR7zhg== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083727Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:27,861 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083727Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 99259a475df79ce6a411a997dbc384d6238953e116adf20b28fa9ef8b8c883ac gunicorn-registry stdout | 2025-09-26 08:37:27,861 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | baa2af6b3a4d941f735181c8d298b35c003603dfab171df8db1bad08c8fe21c3 gunicorn-registry stdout | 2025-09-26 08:37:27,861 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:27,861 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:27,861 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:27,862 [250] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:27,863 [250] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:28,063 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1?uploadId=68d650c7d73ec60008f93591&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:28,063 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9m0n-i3djl-7oa', 'x-amz-id-2': 'mg0l9m0n-i3djl-7oa', 'ETag': '"de984952c2ad0e9f5eda3d40351ef386"', 'Date': 'Fri, 26 Sep 2025 08:37:28 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:28,063 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:28,063 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,064 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:28,064 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,064 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9m0n-i3djl-7oa', 'HostId': 'mg0l9m0n-i3djl-7oa', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9m0n-i3djl-7oa', 'x-amz-id-2': 'mg0l9m0n-i3djl-7oa', 'etag': '"de984952c2ad0e9f5eda3d40351ef386"', 'date': 'Fri, 26 Sep 2025 08:37:28 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"de984952c2ad0e9f5eda3d40351ef386"'} gunicorn-registry stdout | 2025-09-26 08:37:28,064 [250] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1', 'UploadId': '68d650c7d73ec60008f93591', 'MultipartUpload': {'Parts': [{'ETag': '"de984952c2ad0e9f5eda3d40351ef386"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:28,064 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,064 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,064 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,064 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,064 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,064 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,064 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,064 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:28,064 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:28,064 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:28,064 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:28,065 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,065 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,065 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,065 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1', 'query_string': {'uploadId': '68d650c7d73ec60008f93591'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"de984952c2ad0e9f5eda3d40351ef386"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1?uploadId=68d650c7d73ec60008f93591', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1', 'UploadId': '68d650c7d73ec60008f93591', 'MultipartUpload': {'Parts': [{'ETag': '"de984952c2ad0e9f5eda3d40351ef386"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:28,065 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,065 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,065 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,065 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,065 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:28,065 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1 gunicorn-registry stdout | uploadId=68d650c7d73ec60008f93591 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:567b69ee3095a779326bf70db3d7119f6e8a09b7c105556c71ee94ccf6fa27a1 gunicorn-registry stdout | x-amz-date:20250926T083728Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 567b69ee3095a779326bf70db3d7119f6e8a09b7c105556c71ee94ccf6fa27a1 gunicorn-registry stdout | 2025-09-26 08:37:28,065 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083728Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ff06c8a654413f32c245c37b9510ae940d599900f3876c7ea508f62b849b8786 gunicorn-registry stdout | 2025-09-26 08:37:28,065 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | bfae37591b2a95eae1c39a960e97dddcfc6613773c869e9cf4493f3bd12983a5 gunicorn-registry stdout | 2025-09-26 08:37:28,066 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,066 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:28,066 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:28,080 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1?uploadId=68d650c7d73ec60008f93591 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:28,081 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9m6b-3vfcwp-gkx', 'x-amz-id-2': 'mg0l9m6b-3vfcwp-gkx', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:28 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:28,081 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1"febf5571904761ff01ef081021622fe4-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1?uploadId=68d650c7d73ec60008f93591' gunicorn-registry stdout | 2025-09-26 08:37:28,081 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,081 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,081 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:28,081 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,081 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9m6b-3vfcwp-gkx', 'HostId': 'mg0l9m6b-3vfcwp-gkx', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9m6b-3vfcwp-gkx', 'x-amz-id-2': 'mg0l9m6b-3vfcwp-gkx', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:28 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1?uploadId=68d650c7d73ec60008f93591', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1', 'ETag': '"febf5571904761ff01ef081021622fe4-1"'} gunicorn-registry stdout | 2025-09-26 08:37:28,081 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:28,082 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:28,082 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 3727111 bytes to blob c4a23be2-5f06-4175-a1ac-013017bbefbf took 0.5506775379180908 seconds gunicorn-registry stdout | 2025-09-26 08:37:28,083 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['c4a23be2-5f06-4175-a1ac-013017bbefbf', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,088 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, 'c4a23be2-5f06-4175-a1ac-013017bbefbf', 3727111, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwLiazABCOAOp/zMPDiGbwL/AXu4DDjFEf/0A+/yXwP5xUmgz+PT5PD73+9+rh7x6b7z8ZMmTI0GHpfwEAAP//7AcAAAAAAAAAAPjGAQAAAABaatltnPkpgXU0psjkoCFn0cpxvZNHgArMckz6LHlmVZRiLg==', 9, '{"chunks": [["uploads/c4c0b03e-8889-473b-8fe9-d610990871b1", 0, 3727111]]}', 1, 9310208, datetime.datetime(2025, 9, 26, 8, 37, 27, 448345), None, None, 71]) gunicorn-registry stdout | 2025-09-26 08:37:28,093 [250] [DEBUG] [app] Ending request: urn:request:effad454-e146-4496-8d9e-0b7b50070f9c (/v2/testorg2/alpine/blobs/uploads/c4a23be2-5f06-4175-a1ac-013017bbefbf) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:effad454-e146-4496-8d9e-0b7b50070f9c', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/c4a23be2-5f06-4175-a1ac-013017bbefbf', 'path': '/v2/testorg2/alpine/blobs/uploads/c4a23be2-5f06-4175-a1ac-013017bbefbf', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:28,093 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:28,093 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:28,094 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:28 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/c4a23be2-5f06-4175-a1ac-013017bbefbf HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:28 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/c4a23be2-5f06-4175-a1ac-013017bbefbf HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.600 3728891 0.600) gunicorn-registry stdout | 2025-09-26 08:37:28,136 [256] [DEBUG] [app] Starting request: urn:request:af2abf20-1fab-425b-9e80-7ae332cd7df1 (/v2/testorg2/alpine/blobs/uploads/c4a23be2-5f06-4175-a1ac-013017bbefbf) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:28,137 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'c4a23be2-5f06-4175-a1ac-013017bbefbf', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:28,137 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:28,137 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:28,138 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:28,138 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:28,138 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:28,138 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:28,138 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:28,140 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,144 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,147 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,151 [256] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,154 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,158 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,162 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,165 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:28,169 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['c4a23be2-5f06-4175-a1ac-013017bbefbf', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,173 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:28,173 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:28,173 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:28,174 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:28,174 [256] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7833b588-aee2-4f68-bad9-9f6b35477f5a', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:28,174 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,175 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,175 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,175 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,175 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,175 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,175 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,175 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,175 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:28,175 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:28,175 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:28,175 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:28,175 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,175 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,175 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,175 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/7833b588-aee2-4f68-bad9-9f6b35477f5a?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7833b588-aee2-4f68-bad9-9f6b35477f5a', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7833b588-aee2-4f68-bad9-9f6b35477f5a?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7833b588-aee2-4f68-bad9-9f6b35477f5a', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:28,175 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,175 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,176 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,176 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,176 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:28,176 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7833b588-aee2-4f68-bad9-9f6b35477f5a gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083728Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:28,176 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083728Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 812b287efed921933a323a3a19e64e5bb4efcc079bacd8be37e311b6eea3d42c gunicorn-registry stdout | 2025-09-26 08:37:28,176 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 2e711b6c65366625b15dad71d129113dc8d440933ac0431ea7a5a069e11259d5 gunicorn-registry stdout | 2025-09-26 08:37:28,176 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,176 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:28,176 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:28,182 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7833b588-aee2-4f68-bad9-9f6b35477f5a?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:28,182 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9m9d-5pdiwz-ejp', 'x-amz-id-2': 'mg0l9m9d-5pdiwz-ejp', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:28 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:28,182 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/7833b588-aee2-4f68-bad9-9f6b35477f5a68d650c8d73ec60008f93597' gunicorn-registry stdout | 2025-09-26 08:37:28,182 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,182 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:28,182 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,182 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9m9d-5pdiwz-ejp', 'HostId': 'mg0l9m9d-5pdiwz-ejp', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9m9d-5pdiwz-ejp', 'x-amz-id-2': 'mg0l9m9d-5pdiwz-ejp', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:28 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7833b588-aee2-4f68-bad9-9f6b35477f5a', 'UploadId': '68d650c8d73ec60008f93597'} gunicorn-registry stdout | 2025-09-26 08:37:28,182 [256] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:28,184 [256] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7833b588-aee2-4f68-bad9-9f6b35477f5a', 'UploadId': '68d650c8d73ec60008f93597'} gunicorn-registry stdout | 2025-09-26 08:37:28,184 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,184 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,184 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,184 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,184 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,184 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,184 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:28,184 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:28,184 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:28,184 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:28,184 [256] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,184 [256] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,185 [256] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,185 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/7833b588-aee2-4f68-bad9-9f6b35477f5a', 'query_string': {'uploadId': '68d650c8d73ec60008f93597'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7833b588-aee2-4f68-bad9-9f6b35477f5a', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7833b588-aee2-4f68-bad9-9f6b35477f5a?uploadId=68d650c8d73ec60008f93597', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/7833b588-aee2-4f68-bad9-9f6b35477f5a', 'UploadId': '68d650c8d73ec60008f93597'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:28,185 [256] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,185 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,185 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,185 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,185 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:28,185 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7833b588-aee2-4f68-bad9-9f6b35477f5a gunicorn-registry stdout | uploadId=68d650c8d73ec60008f93597 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083728Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:28,185 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083728Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 5c26ec880f6e2b0257c1205cd5f11b00eabed953d63e10e3cce62f328dbdad0a gunicorn-registry stdout | 2025-09-26 08:37:28,185 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 62ae55e4c0e71f8df4d524d5121b3d49638189aeb6f07c319954b6483cb44fbd gunicorn-registry stdout | 2025-09-26 08:37:28,185 [256] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,185 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:28,186 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:28,192 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/7833b588-aee2-4f68-bad9-9f6b35477f5a?uploadId=68d650c8d73ec60008f93597 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:28,193 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9m9m-5uq4nr-g2h', 'x-amz-id-2': 'mg0l9m9m-5uq4nr-g2h', 'Date': 'Fri, 26 Sep 2025 08:37:28 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:28,193 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:28,193 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,193 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:28,193 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,193 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9m9m-5uq4nr-g2h', 'HostId': 'mg0l9m9m-5uq4nr-g2h', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9m9m-5uq4nr-g2h', 'x-amz-id-2': 'mg0l9m9m-5uq4nr-g2h', 'date': 'Fri, 26 Sep 2025 08:37:28 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:28,193 [256] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob c4a23be2-5f06-4175-a1ac-013017bbefbf took 0.020373106002807617 seconds gunicorn-registry stdout | 2025-09-26 08:37:28,194 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['c4a23be2-5f06-4175-a1ac-013017bbefbf', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,199 [256] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, 'c4a23be2-5f06-4175-a1ac-013017bbefbf', 3727111, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwLiazABCOAOp/zMPDiGbwL/AXu4DDjFEf/0A+/yXwP5xUmgz+PT5PD73+9+rh7x6b7z8ZMmTI0GHpfwEAAP//7AcAAAAAAAAAAPjGAQAAAABaatltnPkpgXU0psjkoCFn0cpxvZNHgArMckz6LHlmVZRiLg==', 9, '{"chunks": [["uploads/c4c0b03e-8889-473b-8fe9-d610990871b1", 0, 3727111]]}', 2, 9310208, datetime.datetime(2025, 9, 26, 8, 37, 27, 448345), None, None, 71]) gunicorn-registry stdout | 2025-09-26 08:37:28,203 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:28,203 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:28,203 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:28,203 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:28,204 [256] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3'} gunicorn-registry stdout | 2025-09-26 08:37:28,204 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,204 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,204 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,204 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,204 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,204 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,204 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,204 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:28,204 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:28,204 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:28,204 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:28,204 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,205 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,205 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,205 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:28,205 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,205 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,205 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,205 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,205 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:28,205 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083728Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:28,205 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083728Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 496c24556f8d6eeed7b6db28011c55f5d397588727a838035ac55b3470542e6c gunicorn-registry stdout | 2025-09-26 08:37:28,206 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 60e799d3008b354db2c9d7658c87be6e56ca17b34f0d15315d3a19cfb0e4ffbe gunicorn-registry stdout | 2025-09-26 08:37:28,206 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,206 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:28,206 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:28,210 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:28,210 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ma7-66u3lj-1641', 'x-amz-id-2': 'mg0l9ma7-66u3lj-1641', 'Content-Type': 'application/xml', 'Content-Length': '339', 'Date': 'Fri, 26 Sep 2025 08:37:28 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:28,210 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:28,210 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,210 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:28,210 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,210 [256] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:28,211 [256] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:28,211 [256] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3 gunicorn-registry stdout | 2025-09-26 08:37:28,211 [256] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:28,211 [256] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:28,211 [256] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:28,211 [256] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:28,211 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,211 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,211 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,211 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,211 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,212 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,212 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,212 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:28,212 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:28,212 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:28,212 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:28,212 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,212 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,212 [256] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,212 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:28,212 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,212 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,212 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,212 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,212 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,212 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:28,213 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083728Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:28,213 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083728Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | fab40a62749c9acf1d54675892ca9dbe8cc1f6b95b09cdbe5abe80e48863f9d2 gunicorn-registry stdout | 2025-09-26 08:37:28,213 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 941bb873c9cfcb9adc6ec7353423cd5fa81afa5fe9613ef011fad1ef99077226 gunicorn-registry stdout | 2025-09-26 08:37:28,213 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,213 [256] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,213 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:28,213 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:28,217 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:28,218 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9maf-6bj49y-xcr', 'x-amz-id-2': 'mg0l9maf-6bj49y-xcr', 'ETag': '"febf5571904761ff01ef081021622fe4-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:28 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '3727111', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:28 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:28,218 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:28,218 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,218 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:28,218 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,218 [256] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:28,218 [256] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:28,219 [256] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:28,219 [256] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:28,219 [256] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 'extra_args': {}, 'callbacks': [], 'size': 3727111} gunicorn-registry stdout | 2025-09-26 08:37:28,219 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,219 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,219 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,219 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,219 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,219 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,219 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,219 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,219 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,219 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,219 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:28,219 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:28,219 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:28,219 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:28,219 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,220 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,220 [256] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,220 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:28,220 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,220 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,220 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,220 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,220 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,220 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:28,220 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c4c0b03e-8889-473b-8fe9-d610990871b1 gunicorn-registry stdout | x-amz-date:20250926T083728Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:28,220 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083728Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ae66b764ee546e1401cced90595db73db8fc32386aa65c55fc1d291c5db8cf80 gunicorn-registry stdout | 2025-09-26 08:37:28,221 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ccc121a76a8f3d7b09ed729e368c6b70abcae6b3a4300ede51fa8cf0193e4d8d gunicorn-registry stdout | 2025-09-26 08:37:28,221 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,221 [256] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,221 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:28,221 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:28,221 [256] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:28,246 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:28,246 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9mam-6fvwoa-pov', 'x-amz-id-2': 'mg0l9mam-6fvwoa-pov', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:28 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:28,246 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:28.000Z"febf5571904761ff01ef081021622fe4-1"' gunicorn-registry stdout | 2025-09-26 08:37:28,247 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,247 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,247 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:28,247 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,247 [256] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:28,248 [256] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob c4a23be2-5f06-4175-a1ac-013017bbefbf with digest sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3 took 0.0373225212097168 seconds gunicorn-registry stdout | 2025-09-26 08:37:28,248 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['c4a23be2-5f06-4175-a1ac-013017bbefbf', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,251 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,253 [256] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['2ff39502-4b8b-41a9-9125-e974478f5e0c', 3727111, 9310208, True, True, 'sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3']) gunicorn-registry stdout | 2025-09-26 08:37:28,255 [256] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [72, 9]) gunicorn-registry stdout | 2025-09-26 08:37:28,256 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,258 [256] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 72, datetime.datetime(2025, 9, 26, 8, 37, 28, 258489), datetime.datetime(2025, 9, 26, 9, 37, 28, 258472)]) gunicorn-registry stdout | 2025-09-26 08:37:28,260 [256] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [71]) gunicorn-registry stdout | 2025-09-26 08:37:28,264 [256] [DEBUG] [app] Ending request: urn:request:af2abf20-1fab-425b-9e80-7ae332cd7df1 (/v2/testorg2/alpine/blobs/uploads/c4a23be2-5f06-4175-a1ac-013017bbefbf) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:af2abf20-1fab-425b-9e80-7ae332cd7df1', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/c4a23be2-5f06-4175-a1ac-013017bbefbf?digest=sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3', 'path': '/v2/testorg2/alpine/blobs/uploads/c4a23be2-5f06-4175-a1ac-013017bbefbf', 'parameters': {'digest': 'sha256:b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:28,264 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:28,264 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:28,264 [256] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:28 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/c4a23be2-5f06-4175-a1ac-013017bbefbf?digest=sha256%3Ab762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:28 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/c4a23be2-5f06-4175-a1ac-013017bbefbf?digest=sha256%3Ab762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.129 1853 0.129) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:28 +0000] "GET /static/build/135-quay-frontend.chunk.js HTTP/1.1" 200 975 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2250 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:28 +0000] "GET /static/build/83-quay-frontend.chunk.js HTTP/1.1" 200 1717 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2249 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:28 +0000] "GET /static/build/18-quay-frontend.chunk.js HTTP/1.1" 200 997 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2249 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:28 +0000] "GET /static/build/112-quay-frontend.chunk.js HTTP/1.1" 200 767 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2250 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:28 +0000] "GET /static/build/181-quay-frontend.chunk.js HTTP/1.1" 200 952 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2250 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:28 +0000] "GET /static/build/152-quay-frontend.chunk.js HTTP/1.1" 200 313 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2250 -) gunicorn-registry stdout | 2025-09-26 08:37:28,380 [250] [DEBUG] [app] Starting request: urn:request:46356fbb-f3a5-49a2-b3bc-f89d75dd2467 (/v2/testorg2/alpine/blobs/sha256:85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:28,381 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:28,381 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:28,381 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:28,382 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:28,382 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:28,382 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:28,382 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:28,382 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:28,383 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,387 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,391 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:28,391 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377_2 gunicorn-registry stdout | 2025-09-26 08:37:28,391 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:28,392 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,396 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,399 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,402 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,406 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,410 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377_2: None gunicorn-registry stdout | 2025-09-26 08:37:28,410 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377_2: None gunicorn-registry stdout | 2025-09-26 08:37:28,410 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:28,411 [250] [DEBUG] [app] Ending request: urn:request:46356fbb-f3a5-49a2-b3bc-f89d75dd2467 (/v2/testorg2/alpine/blobs/sha256:85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:46356fbb-f3a5-49a2-b3bc-f89d75dd2467', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 'path': '/v2/testorg2/alpine/blobs/sha256:85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:28,411 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:28,411 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:28,411 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:28 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:28 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.032 1718 0.031) gunicorn-registry stdout | 2025-09-26 08:37:28,675 [257] [DEBUG] [app] Starting request: urn:request:6ff427e5-4d5e-4e0b-9cdc-c37dfefbf01d (/v2/testorg2/alpine/blobs/uploads/d725782c-319a-4c16-bbc5-5870f4329847) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:28,675 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'd725782c-319a-4c16-bbc5-5870f4329847', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:28,675 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:28,675 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:28,677 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:28,677 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:28,677 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:28,677 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:28,677 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:28,679 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,684 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,688 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,692 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,695 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,699 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,703 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:28 +0000] "GET /static/img/network-tile.png HTTP/1.1" 200 6289 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2298 -) gunicorn-registry stdout | 2025-09-26 08:37:28,706 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-web stdout | 2025-09-26 08:37:28,709 [241] [DEBUG] [app] Starting request: urn:request:df383402-a116-44a5-a3ae-c456026e2402 (/api/v1/user/) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:28,710 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['d725782c-319a-4c16-bbc5-5870f4329847', 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:28,710 [241] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:28,710 [241] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:28,711 [242] [DEBUG] [app] Starting request: urn:request:fcd24b2f-d252-42b8-8113-e24dae39bf6e (/api/v1/messages) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:37:28,711 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:28,711 [242] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:28,711 [242] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:28,712 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,714 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:28,714 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:28,714 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:28,716 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:28,716 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d5fee691-9900-4bb7-8ba6-2cc71cae1fdd', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:28,716 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,716 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,716 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,716 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,716 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,716 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,716 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,716 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:28 +0000] "GET /static/img/RH_Logo_Quay_Black_UX-horizontal.svg HTTP/1.1" 200 3222 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2318 -) gunicorn-registry stdout | 2025-09-26 08:37:28,716 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:28,717 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:28,717 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:28,717 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:28,717 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,717 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,717 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,717 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/d5fee691-9900-4bb7-8ba6-2cc71cae1fdd?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d5fee691-9900-4bb7-8ba6-2cc71cae1fdd', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d5fee691-9900-4bb7-8ba6-2cc71cae1fdd?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d5fee691-9900-4bb7-8ba6-2cc71cae1fdd', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:28,717 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,717 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,717 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,717 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,718 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:28,718 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d5fee691-9900-4bb7-8ba6-2cc71cae1fdd gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083728Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:28,718 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083728Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 684df0e12cab43fb488c19c38ee429bc71f2100a0df92d444c925bd6fb516781 gunicorn-registry stdout | 2025-09-26 08:37:28,718 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 7ae5a44ee822e04a05e0fc4348239fa42febf3b02f5175a1bbbe8bab8bb913f6 gunicorn-registry stdout | 2025-09-26 08:37:28,718 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,718 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:28,718 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-web stdout | 2025-09-26 08:37:28,723 [241] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:37:28,723 [241] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:37:28,723 [241] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:28,724 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:28,724 [242] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:37:28,724 [241] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:28,724 [241] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:28,724 [241] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:28,724 [242] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:37:28,724 [242] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:28,724 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."content", "t1"."uuid", "t1"."severity", "t1"."media_type_id", "t2"."id", "t2"."name" FROM "messages" AS "t1" INNER JOIN "mediatype" AS "t2" ON ("t1"."media_type_id" = "t2"."id")', []) gunicorn-web stdout | 2025-09-26 08:37:28,725 [241] [DEBUG] [peewee] ('SELECT DISTINCT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" INNER JOIN "team" AS "t2" ON ("t2"."organization_id" = "t1"."id") INNER JOIN "teammember" AS "t3" ON ("t3"."team_id" = "t2"."id") INNER JOIN "user" AS "t4" ON ("t4"."id" = "t3"."user_id") WHERE (("t1"."organization" = %s) AND ("t4"."username" = %s))', [True, 'quay']) gunicorn-web stdout | 2025-09-26 08:37:28,728 [242] [DEBUG] [app] Ending request: urn:request:fcd24b2f-d252-42b8-8113-e24dae39bf6e (/api/v1/messages) {'endpoint': 'api.globalusermessages', 'request_id': 'urn:request:fcd24b2f-d252-42b8-8113-e24dae39bf6e', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/messages', 'path': '/api/v1/messages', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:37:28,729 [242] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:28 +0000] "GET /api/v1/messages HTTP/1.1" 200 17 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.019 2366 0.019) gunicorn-web stdout | 2025-09-26 08:37:28,729 [242] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:28 +0000] "GET /api/v1/messages HTTP/1.0" 200 17 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:37:28,730 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:28,731 [241] [DEBUG] [peewee] ('SELECT "t1"."service_ident", "t2"."name", "t1"."metadata_json" FROM "federatedlogin" AS "t1" INNER JOIN "loginservice" AS "t2" ON ("t1"."service_id" = "t2"."id") WHERE (("t2"."name" != %s) AND ("t1"."user_id" = %s))', ['quayrobot', 1]) gunicorn-web stdout | 2025-09-26 08:37:28,735 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."user_id", "t1"."kind_id" FROM "userprompt" AS "t1" INNER JOIN "userpromptkind" AS "t2" ON ("t1"."kind_id" = "t2"."id") WHERE ("t1"."user_id" = %s)', [1]) gunicorn-registry stdout | 2025-09-26 08:37:28,739 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d5fee691-9900-4bb7-8ba6-2cc71cae1fdd?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:28,739 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9mot-ewgp1v-a1l', 'x-amz-id-2': 'mg0l9mot-ewgp1v-a1l', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:28 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:28,739 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/d5fee691-9900-4bb7-8ba6-2cc71cae1fdd68d650c8d73ec60008f935a0' gunicorn-registry stdout | 2025-09-26 08:37:28,740 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,740 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:28,740 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,740 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9mot-ewgp1v-a1l', 'HostId': 'mg0l9mot-ewgp1v-a1l', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9mot-ewgp1v-a1l', 'x-amz-id-2': 'mg0l9mot-ewgp1v-a1l', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:28 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d5fee691-9900-4bb7-8ba6-2cc71cae1fdd', 'UploadId': '68d650c8d73ec60008f935a0'} gunicorn-registry stdout | 2025-09-26 08:37:28,740 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-web stdout | 2025-09-26 08:37:28,740 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['quay', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,741 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d5fee691-9900-4bb7-8ba6-2cc71cae1fdd', 'UploadId': '68d650c8d73ec60008f935a0'} gunicorn-registry stdout | 2025-09-26 08:37:28,741 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,741 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,741 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,741 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,741 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,741 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,741 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:28,741 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:28,741 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:28,741 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:28,742 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,742 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,742 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,742 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/d5fee691-9900-4bb7-8ba6-2cc71cae1fdd', 'query_string': {'uploadId': '68d650c8d73ec60008f935a0'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d5fee691-9900-4bb7-8ba6-2cc71cae1fdd', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d5fee691-9900-4bb7-8ba6-2cc71cae1fdd?uploadId=68d650c8d73ec60008f935a0', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/d5fee691-9900-4bb7-8ba6-2cc71cae1fdd', 'UploadId': '68d650c8d73ec60008f935a0'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:28,742 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,742 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,742 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,743 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,743 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:28,743 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d5fee691-9900-4bb7-8ba6-2cc71cae1fdd gunicorn-registry stdout | uploadId=68d650c8d73ec60008f935a0 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083728Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:28,743 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083728Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 46c232691b35e0e78f50557144e25bf6cfdcf8defc0a9c4aad0d624214d6f0e1 gunicorn-registry stdout | 2025-09-26 08:37:28,743 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 8dae46bcf501e25bcc1784eb8e0b28d6c5c5b90d335b7216e03b50dfb3684964 gunicorn-registry stdout | 2025-09-26 08:37:28,743 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,744 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:28,744 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-web stdout | 2025-09-26 08:37:28,744 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-web stdout | 2025-09-26 08:37:28,748 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quay', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:28,751 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-web stdout | 2025-09-26 08:37:28,755 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:28,758 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:28,758 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:28,763 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-web stdout | 2025-09-26 08:37:28,767 [241] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:37:28,767 [241] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:37:28,767 [241] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:37:28,768 [241] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:37:28,768 [241] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:37:28,768 [241] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:37:28,768 [241] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:37:28,768 [241] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:37:28,768 [241] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg2', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:37:28,768 [241] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:37:28,768 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:28,768 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:28,768 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:28,768 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:28,768 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:28,768 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:28,768 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:28,769 [241] [DEBUG] [app] Ending request: urn:request:df383402-a116-44a5-a3ae-c456026e2402 (/api/v1/user/) {'endpoint': 'api.user', 'request_id': 'urn:request:df383402-a116-44a5-a3ae-c456026e2402', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/user/', 'path': '/api/v1/user/', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:37:28,769 [241] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:37:28,770 [241] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:28 +0000] "GET /api/v1/user/ HTTP/1.0" 200 1484 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:28 +0000] "GET /api/v1/user/ HTTP/1.1" 200 1484 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.062 2363 0.062) gunicorn-registry stdout | 2025-09-26 08:37:28,848 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/d5fee691-9900-4bb7-8ba6-2cc71cae1fdd?uploadId=68d650c8d73ec60008f935a0 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:28,849 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9mp6-f3rw4a-18mu', 'x-amz-id-2': 'mg0l9mp6-f3rw4a-18mu', 'Date': 'Fri, 26 Sep 2025 08:37:28 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:28,849 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:28,849 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,849 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:28,849 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,849 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9mp6-f3rw4a-18mu', 'HostId': 'mg0l9mp6-f3rw4a-18mu', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9mp6-f3rw4a-18mu', 'x-amz-id-2': 'mg0l9mp6-f3rw4a-18mu', 'date': 'Fri, 26 Sep 2025 08:37:28 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:28,849 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob d725782c-319a-4c16-bbc5-5870f4329847 took 0.1352071762084961 seconds gunicorn-registry stdout | 2025-09-26 08:37:28,850 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['d725782c-319a-4c16-bbc5-5870f4329847', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,854 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, 'd725782c-319a-4c16-bbc5-5870f4329847', 584, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwZWZjYiJdfX03MDFhMzNkZjM4YjJjMTczZmY3ODk0ODgzYjE1OTgxNTY4ZjcxMmE2ODhkNDFlMThiM2E0MDViZggAAAAAAAAAABIAAAAAAADukfQAg18AbwQi7En9wyyimByTCQFpd7x0ilMtO1OIHJRiLg==', 9, '{"chunks": [["uploads/4a9d23b8-b192-44cd-bea1-515a2a0247aa", 0, 584]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 28, 463725), None, None, 72]) gunicorn-registry stdout | 2025-09-26 08:37:28,859 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:28,859 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:28,859 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:28,860 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:28,860 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377'} gunicorn-registry stdout | 2025-09-26 08:37:28,860 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,860 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,860 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,860 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,860 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,860 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,860 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,860 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:28,860 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:28,860 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:28,861 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:28,861 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,861 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,861 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,861 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:28,861 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,861 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,861 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,861 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,861 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:28,861 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083728Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:28,861 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083728Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | adff792e072ff6262e674ac276fd3b9bbaf630491317791dcf5f1c9fbbb1ebf0 gunicorn-registry stdout | 2025-09-26 08:37:28,862 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 49eacdb5d2bcfb66aea287222f90d340430385b609db3766dd9b5a2fdea1337e gunicorn-registry stdout | 2025-09-26 08:37:28,862 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,862 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:28,862 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:28,868 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:28,868 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9msf-i80kw-sdq', 'x-amz-id-2': 'mg0l9msf-i80kw-sdq', 'Content-Type': 'application/xml', 'Content-Length': '337', 'Date': 'Fri, 26 Sep 2025 08:37:28 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:28,868 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:28,868 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,868 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:28,868 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,868 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:28,868 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:28,868 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377 gunicorn-registry stdout | 2025-09-26 08:37:28,869 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:28,869 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:28,869 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:28,869 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:28,869 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,869 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,869 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,869 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,869 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,869 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,869 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,869 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:28,869 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:28,870 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:28,870 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:28,870 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,870 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,870 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,870 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/4a9d23b8-b192-44cd-bea1-515a2a0247aa', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4a9d23b8-b192-44cd-bea1-515a2a0247aa', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4a9d23b8-b192-44cd-bea1-515a2a0247aa', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/4a9d23b8-b192-44cd-bea1-515a2a0247aa'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:28,870 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,870 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,870 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,870 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,870 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,870 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:28,870 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4a9d23b8-b192-44cd-bea1-515a2a0247aa gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083728Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:28,870 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083728Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 40409469040909ac14d5af27b44fea9f7750614effdab927d68c25877b78eced gunicorn-registry stdout | 2025-09-26 08:37:28,870 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 924f0eeaaac7b2a0b467d9e884ce88c912de14fae1cf53005592966943bba0f3 gunicorn-registry stdout | 2025-09-26 08:37:28,871 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,871 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,871 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:28,871 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:28,874 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4a9d23b8-b192-44cd-bea1-515a2a0247aa HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:28,875 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9mso-ncc6s-157m', 'x-amz-id-2': 'mg0l9mso-ncc6s-157m', 'ETag': '"6f74568df3b1ff1f878b28ec4aa6eb86-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:28 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '584', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:28 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:28,875 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:28,875 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,875 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:28,875 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,875 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:28,875 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:28,876 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:28,876 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:28,876 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/4a9d23b8-b192-44cd-bea1-515a2a0247aa'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 'extra_args': {}, 'callbacks': [], 'size': 584} gunicorn-registry stdout | 2025-09-26 08:37:28,876 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,876 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,876 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,876 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,876 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,876 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,876 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,876 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,876 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,876 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,876 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:28,876 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:28,876 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:28,876 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:28,877 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,877 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,877 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,877 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4a9d23b8-b192-44cd-bea1-515a2a0247aa', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4a9d23b8-b192-44cd-bea1-515a2a0247aa', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:28,877 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,877 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,877 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,877 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,877 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,877 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:28,877 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4a9d23b8-b192-44cd-bea1-515a2a0247aa gunicorn-registry stdout | x-amz-date:20250926T083728Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:28,877 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083728Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | cf8d4756a3cfa49de749cf0b5f95a6b122ec2c6163e90901823d8539e102f0e0 gunicorn-registry stdout | 2025-09-26 08:37:28,877 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 3c646fc98006f016b9416531f878d64bf951bff62904782f77e2fb1acafea1a4 gunicorn-registry stdout | 2025-09-26 08:37:28,878 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,878 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,878 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:28,878 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:28,878 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:28,904 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:28,904 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9msv-rkhrr-sb6', 'x-amz-id-2': 'mg0l9msv-rkhrr-sb6', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:28 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:28,904 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:28.000Z"6f74568df3b1ff1f878b28ec4aa6eb86-1"' gunicorn-registry stdout | 2025-09-26 08:37:28,905 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,905 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:28,905 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:28,905 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:28,905 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:28,906 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob d725782c-319a-4c16-bbc5-5870f4329847 with digest sha256:85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377 took 0.03758883476257324 seconds gunicorn-registry stdout | 2025-09-26 08:37:28,907 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['d725782c-319a-4c16-bbc5-5870f4329847', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,910 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,911 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['81ec74c5-ebe4-4e1b-9554-d26a630f31ff', 584, None, True, True, 'sha256:85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377']) gunicorn-registry stdout | 2025-09-26 08:37:28,913 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [73, 9]) gunicorn-registry stdout | 2025-09-26 08:37:28,915 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:28,916 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 73, datetime.datetime(2025, 9, 26, 8, 37, 28, 916353), datetime.datetime(2025, 9, 26, 9, 37, 28, 916336)]) gunicorn-registry stdout | 2025-09-26 08:37:28,917 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [72]) gunicorn-registry stdout | 2025-09-26 08:37:28,921 [257] [DEBUG] [app] Ending request: urn:request:6ff427e5-4d5e-4e0b-9cdc-c37dfefbf01d (/v2/testorg2/alpine/blobs/uploads/d725782c-319a-4c16-bbc5-5870f4329847) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:6ff427e5-4d5e-4e0b-9cdc-c37dfefbf01d', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/d725782c-319a-4c16-bbc5-5870f4329847?digest=sha256:85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 'path': '/v2/testorg2/alpine/blobs/uploads/d725782c-319a-4c16-bbc5-5870f4329847', 'parameters': {'digest': 'sha256:85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:28,921 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:28,921 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:28,922 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:28 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/d725782c-319a-4c16-bbc5-5870f4329847?digest=sha256%3A85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:28 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/d725782c-319a-4c16-bbc5-5870f4329847?digest=sha256%3A85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.247 1853 0.248) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:29 +0000] "GET /static/fonts/fontawesome-webfont.woff2?v=4.7.0 HTTP/1.1" 200 77160 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/static/ldn/font-awesome.css-a166e3c966c6.css" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2401 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:29 +0000] "GET /static/build/489e5e00e1a9a80f88d55281894a87ff.woff HTTP/1.1" 200 7280 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2361 -) gunicorn-web stdout | 2025-09-26 08:37:29,118 [242] [DEBUG] [app] Starting request: urn:request:8a230c8b-df8f-4999-bccd-46d3a0b7e7cc (/api/v1/user/apptoken) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:37:29,118 [242] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,118 [242] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,119 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:29,119 [239] [DEBUG] [app] Starting request: urn:request:6e95007f-dd30-4720-989b-22065ba7b842 (/api/v1/user/notifications) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:37:29,119 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,119 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,121 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:29,132 [242] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:37:29,132 [242] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:37:29,132 [242] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,133 [242] [DEBUG] [endpoints.api] Checking permission for user quay gunicorn-web stdout | 2025-09-26 08:37:29,133 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,133 [242] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:29,133 [242] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:29,133 [242] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:29,134 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:37:29,134 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."user_id", "t1"."uuid", "t1"."title", "t1"."token_name", "t1"."token_secret", "t1"."created", "t1"."expiration", "t1"."last_accessed" FROM "appspecificauthtoken" AS "t1" WHERE ((("t1"."user_id" = %s) AND ("t1"."expiration" <= %s)) AND ("t1"."expiration" > %s))', [1, datetime.datetime(2025, 9, 29, 3, 49, 29, 133728), datetime.datetime(2025, 9, 26, 8, 37, 29, 133806)]) gunicorn-web stdout | 2025-09-26 08:37:29,134 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:37:29,134 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,134 [239] [DEBUG] [endpoints.api] Checking permission for user quay gunicorn-web stdout | 2025-09-26 08:37:29,134 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,134 [239] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:29,134 [239] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:29,135 [239] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:29,136 [239] [DEBUG] [peewee] ('(SELECT "t1"."id", "t1"."uuid", "t1"."kind_id", "t1"."metadata_json", "t1"."dismissed", "t1"."lookup_path", "t1"."created", "t1"."created" AS "cd", "t1"."target_id" FROM "notification" AS "t1" INNER JOIN "notificationkind" AS "t2" ON ("t1"."kind_id" = "t2"."id") WHERE (("t1"."dismissed" = %s) AND ("t1"."target_id" = %s))) UNION (SELECT "t3"."id", "t3"."uuid", "t3"."kind_id", "t3"."metadata_json", "t3"."dismissed", "t3"."lookup_path", "t3"."created", "t3"."created" AS "cd", "t3"."target_id" FROM "notification" AS "t3" INNER JOIN "notificationkind" AS "t4" ON ("t3"."kind_id" = "t4"."id") INNER JOIN "user" AS "t5" ON ("t5"."id" = "t3"."target_id") INNER JOIN "team" AS "t6" ON ("t5"."id" = "t6"."organization_id") INNER JOIN "teamrole" AS "t7" ON ("t6"."role_id" = "t7"."id") INNER JOIN "teammember" AS "t8" ON ("t6"."id" = "t8"."team_id") INNER JOIN "user" AS "t9" ON ("t8"."user_id" = "t9"."id") WHERE (("t3"."dismissed" = %s) AND (("t9"."id" = %s) AND ("t7"."name" = %s)))) ORDER BY cd desc LIMIT %s', [False, 1, False, 1, 'admin', 6]) gunicorn-web stdout | 2025-09-26 08:37:29,138 [242] [DEBUG] [app] Ending request: urn:request:8a230c8b-df8f-4999-bccd-46d3a0b7e7cc (/api/v1/user/apptoken) {'endpoint': 'api.apptokens', 'request_id': 'urn:request:8a230c8b-df8f-4999-bccd-46d3a0b7e7cc', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/user/apptoken?expiring=true', 'path': '/api/v1/user/apptoken', 'parameters': {'expiring': 'true'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:37:29,138 [242] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:29 +0000] "GET /api/v1/user/apptoken?expiring=true HTTP/1.1" 200 38 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.023 2385 0.023) gunicorn-web stdout | 2025-09-26 08:37:29,139 [242] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:29 +0000] "GET /api/v1/user/apptoken?expiring=true HTTP/1.0" 200 38 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:37:29,144 [239] [DEBUG] [app] Ending request: urn:request:6e95007f-dd30-4720-989b-22065ba7b842 (/api/v1/user/notifications) {'endpoint': 'api.usernotificationlist', 'request_id': 'urn:request:6e95007f-dd30-4720-989b-22065ba7b842', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/user/notifications', 'path': '/api/v1/user/notifications', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:37:29,144 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:37:29,145 [239] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:29 +0000] "GET /api/v1/user/notifications HTTP/1.0" 200 43 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:29 +0000] "GET /api/v1/user/notifications HTTP/1.1" 200 43 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.027 2376 0.027) gunicorn-registry stdout | 2025-09-26 08:37:29,258 [257] [DEBUG] [app] Starting request: urn:request:95abceb0-613b-4788-82a0-0db286f59999 (/v2/testorg2/alpine/blobs/sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:29,258 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:29,258 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:29,258 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:29,259 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:29,259 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:29,259 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:29,259 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:29,259 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:29,260 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,264 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,268 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:29,268 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33_2 gunicorn-registry stdout | 2025-09-26 08:37:29,268 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:29,269 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,274 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,277 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,280 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,284 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,287 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33_2: None gunicorn-registry stdout | 2025-09-26 08:37:29,288 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33_2: None gunicorn-registry stdout | 2025-09-26 08:37:29,288 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:29,288 [257] [DEBUG] [app] Ending request: urn:request:95abceb0-613b-4788-82a0-0db286f59999 (/v2/testorg2/alpine/blobs/sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:95abceb0-613b-4788-82a0-0db286f59999', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33', 'path': '/v2/testorg2/alpine/blobs/sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:29,288 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:29,288 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:29,288 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:29 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:29 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.031 1718 0.031) gunicorn-registry stdout | 2025-09-26 08:37:29,392 [256] [DEBUG] [app] Starting request: urn:request:94d90751-bfc9-48c6-afae-db052f7b1ea7 (/v2/testorg2/alpine/blobs/sha256:af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:29,393 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:29,393 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:29,393 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:29,394 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:29,394 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:29,394 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:29,394 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:29,394 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-web stdout | 2025-09-26 08:37:29,394 [239] [DEBUG] [app] Starting request: urn:request:abab5bda-d48d-4a9e-b19e-399997f808cb (/api/v1/repository) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:37:29,395 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,395 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,395 [240] [DEBUG] [app] Starting request: urn:request:53297f66-34d5-4f51-b8ea-138450209b95 (/api/v1/repository) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:29,395 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:29,395 [240] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,396 [240] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,396 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:29,396 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,399 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,402 [257] [DEBUG] [app] Starting request: urn:request:f467ae0f-0787-4507-a73e-79110a84a86d (/v2/testorg2/alpine/blobs/sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:29,402 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:29,402 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:29,402 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:29,403 [256] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:29,403 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:29,403 [256] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1_2 gunicorn-registry stdout | 2025-09-26 08:37:29,403 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:29,403 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:29,403 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:29,403 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:29,403 [256] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:29,404 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,404 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:29,405 [241] [DEBUG] [app] Starting request: urn:request:9cf43dd1-0151-4ced-827c-ddcd09f3afb9 (/api/v1/repository) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:37:29,406 [241] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,406 [241] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,406 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,408 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,408 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:29,408 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:37:29,409 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:37:29,409 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,409 [240] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:37:29,409 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1"', []) gunicorn-web stdout | 2025-09-26 08:37:29,409 [240] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:37:29,409 [240] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,410 [240] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,410 [240] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:29,410 [240] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:29,410 [240] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:29,410 [240] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-registry stdout | 2025-09-26 08:37:29,411 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,412 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:29,412 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33_2 gunicorn-web stdout | 2025-09-26 08:37:29,412 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."username" = %s) LIMIT %s OFFSET %s', ['quay', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,412 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:29,413 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:29,414 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name", "t1"."id" AS "rid" FROM "repository" AS "t1" INNER JOIN "star" AS "t4" ON ("t4"."repository_id" = "t1"."id") INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") INNER JOIN "visibility" AS "t3" ON ("t1"."visibility_id" = "t3"."id") WHERE ((("t4"."user_id" = %s) AND ("t1"."kind_id" = %s)) AND ("t1"."state" != %s))', [1, 1, 3]) gunicorn-registry stdout | 2025-09-26 08:37:29,415 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1', 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:29,415 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:37:29,417 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:29,418 [241] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:37:29,418 [241] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:37:29,418 [241] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,419 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,419 [241] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:29,419 [241] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:29,419 [241] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:29,419 [241] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-registry stdout | 2025-09-26 08:37:29,419 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1', 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:29,419 [240] [DEBUG] [peewee] ('SELECT DISTINCT "t1"."name", "t1"."id" AS "rid", "t1"."description", "t2"."username", "t1"."visibility_id", "t1"."kind_id", "t1"."state" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") LEFT OUTER JOIN "repositorypermission" AS "t3" ON ("t3"."repository_id" = "t1"."id") WHERE ((("t1"."state" != %s) AND ("t1"."kind_id" = %s)) AND ("t2"."username" = %s)) ORDER BY rid LIMIT %s', [3, 1, 'quay', 101]) gunicorn-web stdout | 2025-09-26 08:37:29,420 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name", "t1"."id" AS "rid" FROM "repository" AS "t1" INNER JOIN "star" AS "t4" ON ("t4"."repository_id" = "t1"."id") INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") INNER JOIN "visibility" AS "t3" ON ("t1"."visibility_id" = "t3"."id") WHERE ((("t4"."user_id" = %s) AND ("t1"."kind_id" = %s)) AND ("t1"."state" != %s))', [1, 1, 3]) gunicorn-web stdout | 2025-09-26 08:37:29,420 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."username" = %s) LIMIT %s OFFSET %s', ['quay', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,421 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,423 [256] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1_2: None gunicorn-registry stdout | 2025-09-26 08:37:29,423 [256] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1_2: None gunicorn-registry stdout | 2025-09-26 08:37:29,423 [256] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:29,423 [256] [DEBUG] [app] Ending request: urn:request:94d90751-bfc9-48c6-afae-db052f7b1ea7 (/v2/testorg2/alpine/blobs/sha256:af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:94d90751-bfc9-48c6-afae-db052f7b1ea7', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1', 'path': '/v2/testorg2/alpine/blobs/sha256:af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:29,423 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:29,423 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:29,424 [256] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:29 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" gunicorn-web stdout | 2025-09-26 08:37:29,424 [239] [DEBUG] [app] Ending request: urn:request:abab5bda-d48d-4a9e-b19e-399997f808cb (/api/v1/repository) {'endpoint': 'api.repositorylist', 'request_id': 'urn:request:abab5bda-d48d-4a9e-b19e-399997f808cb', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/repository?last_modified=true&popularity=true&starred=true', 'path': '/api/v1/repository', 'parameters': {'last_modified': 'true', 'popularity': 'true', 'starred': 'true'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:37:29,424 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1"', []) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:29 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.033 1718 0.033) gunicorn-web stdout | 2025-09-26 08:37:29,424 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:29,425 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33', 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:29,425 [239] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:29 +0000] "GET /api/v1/repository?last_modified=true&popularity=true&starred=true HTTP/1.0" 200 21 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/repository/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:29 +0000] "GET /api/v1/repository?last_modified=true&popularity=true&starred=true HTTP/1.1" 200 21 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/repository/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.032 2427 0.032) gunicorn-web stdout | 2025-09-26 08:37:29,426 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name", "t1"."id" AS "rid" FROM "repository" AS "t1" INNER JOIN "star" AS "t4" ON ("t4"."repository_id" = "t1"."id") INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") INNER JOIN "visibility" AS "t3" ON ("t1"."visibility_id" = "t3"."id") WHERE ((("t4"."user_id" = %s) AND ("t1"."kind_id" = %s)) AND ("t1"."state" != %s))', [1, 1, 3]) gunicorn-web stdout | 2025-09-26 08:37:29,428 [241] [DEBUG] [peewee] ('SELECT DISTINCT "t1"."name", "t1"."id" AS "rid", "t1"."description", "t2"."username", "t1"."visibility_id", "t1"."kind_id", "t1"."state" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") LEFT OUTER JOIN "repositorypermission" AS "t3" ON ("t3"."repository_id" = "t1"."id") WHERE ((("t1"."state" != %s) AND ("t1"."kind_id" = %s)) AND ("t2"."username" = %s)) ORDER BY rid LIMIT %s', [3, 1, 'testorg2', 101]) gunicorn-registry stdout | 2025-09-26 08:37:29,428 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33', 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:29,430 [240] [DEBUG] [app] Ending request: urn:request:53297f66-34d5-4f51-b8ea-138450209b95 (/api/v1/repository) {'endpoint': 'api.repositorylist', 'request_id': 'urn:request:53297f66-34d5-4f51-b8ea-138450209b95', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/repository?last_modified=true&namespace=quay&popularity=true"a=true&state=true', 'path': '/api/v1/repository', 'parameters': {'last_modified': 'true', 'namespace': 'quay', 'popularity': 'true', 'quota': 'true', 'state': 'true'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:37:29,431 [240] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:37:29,431 [240] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:29 +0000] "GET /api/v1/repository?last_modified=true&namespace=quay&popularity=true"a=true&state=true HTTP/1.0" 200 21 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/repository/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:29 +0000] "GET /api/v1/repository?last_modified=true&namespace=quay&popularity=true"a=true&state=true HTTP/1.1" 200 21 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/repository/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.038 2451 0.037) gunicorn-registry stdout | 2025-09-26 08:37:29,432 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33_2: None gunicorn-registry stdout | 2025-09-26 08:37:29,432 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33_2: None gunicorn-registry stdout | 2025-09-26 08:37:29,432 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:29,432 [257] [DEBUG] [app] Ending request: urn:request:f467ae0f-0787-4507-a73e-79110a84a86d (/v2/testorg2/alpine/blobs/sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:f467ae0f-0787-4507-a73e-79110a84a86d', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33', 'path': '/v2/testorg2/alpine/blobs/sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:29,432 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:29,433 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:29,433 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:29 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:29 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:9a4c019c18310ac9c43fd41a2fb31d1b7999c9c3af2ac4b266b6adf006db6f33 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.032 1718 0.032) gunicorn-web stdout | 2025-09-26 08:37:29,433 [241] [DEBUG] [peewee] ('SELECT "t1"."repository_id", Max("t1"."lifetime_start_ms") FROM "tag" AS "t1" WHERE ((("t1"."repository_id" IN (%s)) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" > %s))) AND ("t1"."hidden" = %s)) GROUP BY "t1"."repository_id"', [3, None, 1758875849432, False]) gunicorn-web stdout | 2025-09-26 08:37:29,437 [241] [DEBUG] [peewee] ('SELECT "t1"."repository_id", Sum("t1"."count") FROM "repositoryactioncount" AS "t1" WHERE (("t1"."repository_id" IN (%s)) AND ("t1"."date" >= %s)) GROUP BY "t1"."repository_id"', [3, datetime.date(2025, 9, 19)]) gunicorn-web stdout | 2025-09-26 08:37:29,441 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name", "t1"."id" AS "rid" FROM "repository" AS "t1" INNER JOIN "star" AS "t4" ON ("t4"."repository_id" = "t1"."id") INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") INNER JOIN "visibility" AS "t3" ON ("t1"."visibility_id" = "t3"."id") WHERE ((("t4"."user_id" = %s) AND ("t1"."kind_id" = %s)) AND ("t1"."state" != %s))', [1, 1, 3]) gunicorn-web stdout | 2025-09-26 08:37:29,444 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['public', 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:29,448 [241] [DEBUG] [peewee] ('SELECT "t1"."repository_id", "t1"."size_bytes" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" IN (%s))', [3]) gunicorn-web stdout | 2025-09-26 08:37:29,451 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-web stdout | 2025-09-26 08:37:29,455 [241] [DEBUG] [app] Ending request: urn:request:9cf43dd1-0151-4ced-827c-ddcd09f3afb9 (/api/v1/repository) {'endpoint': 'api.repositorylist', 'request_id': 'urn:request:9cf43dd1-0151-4ced-827c-ddcd09f3afb9', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/repository?last_modified=true&namespace=testorg2&popularity=true&public=false"a=true&state=true', 'path': '/api/v1/repository', 'parameters': {'last_modified': 'true', 'namespace': 'testorg2', 'popularity': 'true', 'public': 'false', 'quota': 'true', 'state': 'true'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:37:29,455 [241] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:37:29,456 [241] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:29 +0000] "GET /api/v1/repository?last_modified=true&namespace=testorg2&popularity=true&public=false"a=true&state=true HTTP/1.0" 200 273 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/repository/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:29 +0000] "GET /api/v1/repository?last_modified=true&namespace=testorg2&popularity=true&public=false"a=true&state=true HTTP/1.1" 200 273 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/repository/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.052 2468 0.052) gunicorn-registry stdout | 2025-09-26 08:37:29,473 [255] [DEBUG] [app] Starting request: urn:request:ba1f0e2c-6e93-44fc-a51f-49c682a86a09 (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:29,473 [255] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:29,474 [255] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:29,474 [255] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:29,475 [255] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:29,475 [255] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:29,475 [255] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:29,475 [255] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:29,475 [255] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:29,476 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,480 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:29,481 [241] [DEBUG] [app] Starting request: urn:request:5914626c-55d9-4f66-99d1-7153f9efa981 (/api/v1/repository) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:37:29,481 [241] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,481 [241] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,482 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,483 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,487 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,491 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:29,493 [242] [DEBUG] [app] Starting request: urn:request:324d4e91-45ef-45a8-bcbc-bb90d31a7e00 (/api/v1/repository) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:37:29,493 [242] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,493 [242] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,494 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,495 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:29,496 [241] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:37:29,496 [241] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:37:29,496 [241] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,497 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,497 [241] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:29,497 [241] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:29,497 [241] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:29,497 [241] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:37:29,498 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."username" = %s) LIMIT %s OFFSET %s', ['quay', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,499 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-web stdout | 2025-09-26 08:37:29,502 [241] [DEBUG] [peewee] ('SELECT DISTINCT "t1"."name", "t1"."id" AS "rid", "t1"."description", "t2"."username", "t1"."visibility_id", "t1"."kind_id", "t1"."state" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") LEFT OUTER JOIN "repositorypermission" AS "t3" ON ("t3"."repository_id" = "t1"."id") WHERE ((("t1"."state" != %s) AND ("t1"."kind_id" = %s)) AND ("t2"."username" = %s)) ORDER BY rid LIMIT %s', [3, 1, 'testorg', 101]) gunicorn-registry stdout | 2025-09-26 08:37:29,502 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:29,505 [242] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:37:29,505 [242] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:37:29,506 [242] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,506 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:37:29,506 [242] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:29,506 [242] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:29,506 [242] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:37:29,506 [242] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-registry stdout | 2025-09-26 08:37:29,507 [255] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, '4c7ac7ce-4e78-418e-8592-2c26ce21b741', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 29, 506611)]) gunicorn-web stdout | 2025-09-26 08:37:29,507 [241] [DEBUG] [peewee] ('SELECT "t1"."repository_id", Max("t1"."lifetime_start_ms") FROM "tag" AS "t1" WHERE ((("t1"."repository_id" IN (%s)) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" > %s))) AND ("t1"."hidden" = %s)) GROUP BY "t1"."repository_id"', [2, None, 1758875849506, False]) gunicorn-web stdout | 2025-09-26 08:37:29,507 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."username" = %s) LIMIT %s OFFSET %s', ['quay', 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:29,511 [241] [DEBUG] [peewee] ('SELECT "t1"."repository_id", Sum("t1"."count") FROM "repositoryactioncount" AS "t1" WHERE (("t1"."repository_id" IN (%s)) AND ("t1"."date" >= %s)) GROUP BY "t1"."repository_id"', [2, datetime.date(2025, 9, 19)]) gunicorn-registry stdout | 2025-09-26 08:37:29,512 [255] [DEBUG] [app] Ending request: urn:request:ba1f0e2c-6e93-44fc-a51f-49c682a86a09 (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:ba1f0e2c-6e93-44fc-a51f-49c682a86a09', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-web stdout | 2025-09-26 08:37:29,511 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:37:29,512 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:29,512 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:29 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.040 1697 0.040) gunicorn-registry stdout | 2025-09-26 08:37:29,512 [255] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:29 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" gunicorn-web stdout | 2025-09-26 08:37:29,515 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name", "t1"."id" AS "rid" FROM "repository" AS "t1" INNER JOIN "star" AS "t4" ON ("t4"."repository_id" = "t1"."id") INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") INNER JOIN "visibility" AS "t3" ON ("t1"."visibility_id" = "t3"."id") WHERE ((("t4"."user_id" = %s) AND ("t1"."kind_id" = %s)) AND ("t1"."state" != %s))', [1, 1, 3]) gunicorn-web stdout | 2025-09-26 08:37:29,516 [242] [DEBUG] [peewee] ('SELECT DISTINCT "t1"."name", "t1"."id" AS "rid", "t1"."description", "t2"."username", "t1"."visibility_id", "t1"."kind_id", "t1"."state" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") LEFT OUTER JOIN "repositorypermission" AS "t3" ON ("t3"."repository_id" = "t1"."id") WHERE ((("t1"."state" != %s) AND ("t1"."kind_id" = %s)) AND ("t2"."username" = %s)) ORDER BY rid LIMIT %s', [3, 1, 'quayorg', 101]) gunicorn-web stdout | 2025-09-26 08:37:29,519 [241] [DEBUG] [peewee] ('SELECT "t1"."repository_id", "t1"."size_bytes" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" IN (%s))', [2]) gunicorn-web stdout | 2025-09-26 08:37:29,521 [242] [DEBUG] [peewee] ('SELECT "t1"."repository_id", Max("t1"."lifetime_start_ms") FROM "tag" AS "t1" WHERE ((("t1"."repository_id" IN (%s)) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" > %s))) AND ("t1"."hidden" = %s)) GROUP BY "t1"."repository_id"', [1, None, 1758875849521, False]) gunicorn-web stdout | 2025-09-26 08:37:29,523 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-web stdout | 2025-09-26 08:37:29,526 [242] [DEBUG] [peewee] ('SELECT "t1"."repository_id", Sum("t1"."count") FROM "repositoryactioncount" AS "t1" WHERE (("t1"."repository_id" IN (%s)) AND ("t1"."date" >= %s)) GROUP BY "t1"."repository_id"', [1, datetime.date(2025, 9, 19)]) gunicorn-web stdout | 2025-09-26 08:37:29,526 [241] [DEBUG] [app] Ending request: urn:request:5914626c-55d9-4f66-99d1-7153f9efa981 (/api/v1/repository) {'endpoint': 'api.repositorylist', 'request_id': 'urn:request:5914626c-55d9-4f66-99d1-7153f9efa981', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/repository?last_modified=true&namespace=testorg&popularity=true&public=false"a=true&state=true', 'path': '/api/v1/repository', 'parameters': {'last_modified': 'true', 'namespace': 'testorg', 'popularity': 'true', 'public': 'false', 'quota': 'true', 'state': 'true'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:37:29,527 [241] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:37:29,528 [241] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:29 +0000] "GET /api/v1/repository?last_modified=true&namespace=testorg&popularity=true&public=false"a=true&state=true HTTP/1.0" 200 278 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/repository/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:29 +0000] "GET /api/v1/repository?last_modified=true&namespace=testorg&popularity=true&public=false"a=true&state=true HTTP/1.1" 200 278 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/repository/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.047 2467 0.048) gunicorn-web stdout | 2025-09-26 08:37:29,530 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name", "t1"."id" AS "rid" FROM "repository" AS "t1" INNER JOIN "star" AS "t4" ON ("t4"."repository_id" = "t1"."id") INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") INNER JOIN "visibility" AS "t3" ON ("t1"."visibility_id" = "t3"."id") WHERE ((("t4"."user_id" = %s) AND ("t1"."kind_id" = %s)) AND ("t1"."state" != %s))', [1, 1, 3]) gunicorn-web stdout | 2025-09-26 08:37:29,534 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['public', 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:29,538 [242] [DEBUG] [peewee] ('SELECT "t1"."repository_id", "t1"."size_bytes" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" IN (%s))', [1]) gunicorn-web stdout | 2025-09-26 08:37:29,542 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-web stdout | 2025-09-26 08:37:29,545 [242] [DEBUG] [app] Ending request: urn:request:324d4e91-45ef-45a8-bcbc-bb90d31a7e00 (/api/v1/repository) {'endpoint': 'api.repositorylist', 'request_id': 'urn:request:324d4e91-45ef-45a8-bcbc-bb90d31a7e00', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/repository?last_modified=true&namespace=quayorg&popularity=true&public=false"a=true&state=true', 'path': '/api/v1/repository', 'parameters': {'last_modified': 'true', 'namespace': 'quayorg', 'popularity': 'true', 'public': 'false', 'quota': 'true', 'state': 'true'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:37:29,546 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:37:29,546 [242] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:29 +0000] "GET /api/v1/repository?last_modified=true&namespace=quayorg&popularity=true&public=false"a=true&state=true HTTP/1.0" 200 280 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/repository/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:29 +0000] "GET /api/v1/repository?last_modified=true&namespace=quayorg&popularity=true&public=false"a=true&state=true HTTP/1.1" 200 280 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/repository/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.054 2467 0.054) gunicorn-registry stdout | 2025-09-26 08:37:29,553 [257] [DEBUG] [app] Starting request: urn:request:766b758f-625c-4a99-be2b-71200c3446ed (/v2/testorg2/alpine/blobs/uploads/4c7ac7ce-4e78-418e-8592-2c26ce21b741) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:29,553 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '4c7ac7ce-4e78-418e-8592-2c26ce21b741', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:29,553 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:29,553 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:29,555 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:29,555 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:29,555 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:29,555 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:29,555 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:29,556 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,561 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,565 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,569 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,573 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,578 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,581 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,588 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:29,592 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['4c7ac7ce-4e78-418e-8592-2c26ce21b741', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,597 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:29,597 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:29,597 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:29,598 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:29,598 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:29,598 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,598 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,598 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,598 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,599 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,599 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,599 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,599 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,599 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:29,599 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:29,599 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:29,599 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:29,599 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,599 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,599 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,599 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:29,599 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,599 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,599 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,599 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,600 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:29,600 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083729Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:29,600 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083729Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | c76c545e693adfe89f5556a52cb6bfe6d671474f719f30f49420ec953b95d0a2 gunicorn-registry stdout | 2025-09-26 08:37:29,600 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | bdc0022a5613fa69ecc8f1425d573dad1bc1728e45e91ccaf78a821e399ab50b gunicorn-registry stdout | 2025-09-26 08:37:29,600 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,600 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:29,600 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:29,606 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:29,606 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ncy-cpyz57-b0f', 'x-amz-id-2': 'mg0l9ncy-cpyz57-b0f', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:29 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:29,606 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd68d650c9d73ec60008f935a6' gunicorn-registry stdout | 2025-09-26 08:37:29,606 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,606 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:29,606 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,607 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9ncy-cpyz57-b0f', 'HostId': 'mg0l9ncy-cpyz57-b0f', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ncy-cpyz57-b0f', 'x-amz-id-2': 'mg0l9ncy-cpyz57-b0f', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:29 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd', 'UploadId': '68d650c9d73ec60008f935a6'} gunicorn-registry stdout | 2025-09-26 08:37:29,607 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:29,628 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:29,628 [257] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:29,629 [257] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd', 'UploadId': '68d650c9d73ec60008f935a6', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc601d0>, 'ContentLength': 79039} gunicorn-registry stdout | 2025-09-26 08:37:29,629 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,629 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,629 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,629 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,629 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,629 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,629 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,629 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,629 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:29,629 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:29,629 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:29,629 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:29,630 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,630 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,630 [257] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:29,630 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,630 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,630 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd', 'query_string': {'uploadId': '68d650c9d73ec60008f935a6', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '79039', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'BVuHiz4U1+KY5UN7MbDjyA==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc601d0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd?uploadId=68d650c9d73ec60008f935a6&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd', 'UploadId': '68d650c9d73ec60008f935a6', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc601d0>, 'ContentLength': 79039}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:29,630 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,630 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,630 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,630 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,630 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:29,631 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd gunicorn-registry stdout | partNumber=1&uploadId=68d650c9d73ec60008f935a6 gunicorn-registry stdout | content-length:79039 gunicorn-registry stdout | content-md5:BVuHiz4U1+KY5UN7MbDjyA== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083729Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:29,631 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083729Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 7f382197bda623ba755903e0a6fb1fe83662e3dbc89a81907ba8af7f4e0628b5 gunicorn-registry stdout | 2025-09-26 08:37:29,631 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 652d4d8fc8654434bec78f5f6bdba227228ca006fe41980de198cd49f2c4a74e gunicorn-registry stdout | 2025-09-26 08:37:29,631 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,631 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:29,631 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:29,632 [257] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:29,632 [257] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:29,706 [250] [DEBUG] [app] Starting request: urn:request:a3bbe155-adcc-4e49-a970-2f182c7df94d (/v2/testorg2/alpine/blobs/uploads/0a7874ae-383a-41b9-9b8d-ca3b1ba8bbb0) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:29,707 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '0a7874ae-383a-41b9-9b8d-ca3b1ba8bbb0', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:29,707 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:29,707 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:29,708 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:29,708 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:29,708 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:29,708 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:29,708 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:29,709 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd?uploadId=68d650c9d73ec60008f935a6&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:29,709 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,709 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9nds-d83rr0-2tl', 'x-amz-id-2': 'mg0l9nds-d83rr0-2tl', 'ETag': '"055b878b3e14d7e298e5437b31b0e3c8"', 'Date': 'Fri, 26 Sep 2025 08:37:29 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:29,709 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:29,709 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,710 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:29,710 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,710 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9nds-d83rr0-2tl', 'HostId': 'mg0l9nds-d83rr0-2tl', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9nds-d83rr0-2tl', 'x-amz-id-2': 'mg0l9nds-d83rr0-2tl', 'etag': '"055b878b3e14d7e298e5437b31b0e3c8"', 'date': 'Fri, 26 Sep 2025 08:37:29 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"055b878b3e14d7e298e5437b31b0e3c8"'} gunicorn-registry stdout | 2025-09-26 08:37:29,710 [257] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd', 'UploadId': '68d650c9d73ec60008f935a6', 'MultipartUpload': {'Parts': [{'ETag': '"055b878b3e14d7e298e5437b31b0e3c8"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:29,710 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,710 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,710 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,710 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,710 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,710 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,710 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,710 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:29,710 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:29,711 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:29,711 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:29,711 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,711 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,711 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,711 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd', 'query_string': {'uploadId': '68d650c9d73ec60008f935a6'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"055b878b3e14d7e298e5437b31b0e3c8"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd?uploadId=68d650c9d73ec60008f935a6', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd', 'UploadId': '68d650c9d73ec60008f935a6', 'MultipartUpload': {'Parts': [{'ETag': '"055b878b3e14d7e298e5437b31b0e3c8"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:29,711 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,711 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,711 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,711 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,712 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:29,712 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd gunicorn-registry stdout | uploadId=68d650c9d73ec60008f935a6 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:2d0fca8e7ecbedb0487dc9415ba9bcc2ae3086b6cf612b5e8792788a434c586d gunicorn-registry stdout | x-amz-date:20250926T083729Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 2d0fca8e7ecbedb0487dc9415ba9bcc2ae3086b6cf612b5e8792788a434c586d gunicorn-registry stdout | 2025-09-26 08:37:29,712 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083729Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 506123c3307cb49f70b07056fb587541b92782a7faa3e58b8f22ab6dd0d49cb4 gunicorn-registry stdout | 2025-09-26 08:37:29,712 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | fe9164ccef2530da94aadc6b24c4b8572fc3e3e2f964b1e0ea15bd62215c9b44 gunicorn-registry stdout | 2025-09-26 08:37:29,712 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,712 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:29,713 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:29,714 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,718 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,722 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,726 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,727 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd?uploadId=68d650c9d73ec60008f935a6 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:29,728 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ng1-ekkcc5-io9', 'x-amz-id-2': 'mg0l9ng1-ekkcc5-io9', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:29 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:29,728 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd"df65fbbd51a30b7791bad8c06b6ce279-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd?uploadId=68d650c9d73ec60008f935a6' gunicorn-registry stdout | 2025-09-26 08:37:29,728 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,728 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,729 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:29,729 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,729 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9ng1-ekkcc5-io9', 'HostId': 'mg0l9ng1-ekkcc5-io9', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ng1-ekkcc5-io9', 'x-amz-id-2': 'mg0l9ng1-ekkcc5-io9', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:29 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd?uploadId=68d650c9d73ec60008f935a6', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/df6a09d5-464d-41b7-8d76-5c408e89facd', 'ETag': '"df65fbbd51a30b7791bad8c06b6ce279-1"'} gunicorn-registry stdout | 2025-09-26 08:37:29,729 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:29,729 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,732 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:29,732 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 79039 bytes to blob 4c7ac7ce-4e78-418e-8592-2c26ce21b741 took 0.1349623203277588 seconds gunicorn-registry stdout | 2025-09-26 08:37:29,733 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['4c7ac7ce-4e78-418e-8592-2c26ce21b741', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,734 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,737 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '4c7ac7ce-4e78-418e-8592-2c26ce21b741', 79039, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwMjIxNTNmYzZhNGY4ZWM5NmRkMTM1OCIsInJlbGF0aW9uc2hpcFR5cGUiOiJHRU5FUkFURURfRlJPTSJ9XX19Yj8AAAAAAAAAAKQJAAAAAADD1+GN6f16P00Ac0PEVGnFQFXDwhFclL1pWbLvnZk+VZRiLg==', 9, '{"chunks": [["uploads/df6a09d5-464d-41b7-8d76-5c408e89facd", 0, 79039]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 29, 506611), None, None, 74]) gunicorn-registry stdout | 2025-09-26 08:37:29,738 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:29,742 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0a7874ae-383a-41b9-9b8d-ca3b1ba8bbb0', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,742 [257] [DEBUG] [app] Ending request: urn:request:766b758f-625c-4a99-be2b-71200c3446ed (/v2/testorg2/alpine/blobs/uploads/4c7ac7ce-4e78-418e-8592-2c26ce21b741) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:766b758f-625c-4a99-be2b-71200c3446ed', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/4c7ac7ce-4e78-418e-8592-2c26ce21b741', 'path': '/v2/testorg2/alpine/blobs/uploads/4c7ac7ce-4e78-418e-8592-2c26ce21b741', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:29,743 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:29,743 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:29,743 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:29 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/4c7ac7ce-4e78-418e-8592-2c26ce21b741 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:29 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/4c7ac7ce-4e78-418e-8592-2c26ce21b741 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.191 80817 0.191) gunicorn-registry stdout | 2025-09-26 08:37:29,746 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:29,746 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:29,746 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:29,748 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:29,748 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c312efb7-1a94-40bb-bac1-11a5ba20bc68', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:29,748 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,748 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,748 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,748 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,748 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,748 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,748 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,748 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,748 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:29,748 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:29,749 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:29,749 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:29,749 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,749 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,749 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,749 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/c312efb7-1a94-40bb-bac1-11a5ba20bc68?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c312efb7-1a94-40bb-bac1-11a5ba20bc68', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c312efb7-1a94-40bb-bac1-11a5ba20bc68?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c312efb7-1a94-40bb-bac1-11a5ba20bc68', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:29,749 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,749 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,749 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,749 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,749 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:29,749 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c312efb7-1a94-40bb-bac1-11a5ba20bc68 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083729Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:29,749 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083729Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4230b5599f888189492819db13b40840ae735382e4929007259edbf3ba4788b3 gunicorn-registry stdout | 2025-09-26 08:37:29,749 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b7355f1b70f1a8fe3de8607b2d689b1bd1efd4f0648fede96dfe7d14332a32ff gunicorn-registry stdout | 2025-09-26 08:37:29,750 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,750 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:29,750 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:29,756 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c312efb7-1a94-40bb-bac1-11a5ba20bc68?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:29,757 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9nh3-f6tp20-39h', 'x-amz-id-2': 'mg0l9nh3-f6tp20-39h', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:29 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:29,757 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/c312efb7-1a94-40bb-bac1-11a5ba20bc6868d650c9d73ec60008f935af' gunicorn-registry stdout | 2025-09-26 08:37:29,757 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,757 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:29,757 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,757 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9nh3-f6tp20-39h', 'HostId': 'mg0l9nh3-f6tp20-39h', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9nh3-f6tp20-39h', 'x-amz-id-2': 'mg0l9nh3-f6tp20-39h', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:29 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c312efb7-1a94-40bb-bac1-11a5ba20bc68', 'UploadId': '68d650c9d73ec60008f935af'} gunicorn-registry stdout | 2025-09-26 08:37:29,757 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:29,758 [250] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c312efb7-1a94-40bb-bac1-11a5ba20bc68', 'UploadId': '68d650c9d73ec60008f935af'} gunicorn-registry stdout | 2025-09-26 08:37:29,758 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,758 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,758 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,758 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,758 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,758 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,758 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:29,758 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:29,758 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:29,759 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:29,759 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,759 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,759 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,759 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/c312efb7-1a94-40bb-bac1-11a5ba20bc68', 'query_string': {'uploadId': '68d650c9d73ec60008f935af'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c312efb7-1a94-40bb-bac1-11a5ba20bc68', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c312efb7-1a94-40bb-bac1-11a5ba20bc68?uploadId=68d650c9d73ec60008f935af', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/c312efb7-1a94-40bb-bac1-11a5ba20bc68', 'UploadId': '68d650c9d73ec60008f935af'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:29,759 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,759 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,759 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,759 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,760 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:29,760 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c312efb7-1a94-40bb-bac1-11a5ba20bc68 gunicorn-registry stdout | uploadId=68d650c9d73ec60008f935af gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083729Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:29,760 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083729Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 38f9325491c7eb8cc8dfcfd46109d1619a800ca940c6b50f4a8122cf1baebba0 gunicorn-registry stdout | 2025-09-26 08:37:29,760 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 10dbaeb8a32acd3a5cec5a69baae7fa8f6f9be5c0b620033e39d4e21980e7540 gunicorn-registry stdout | 2025-09-26 08:37:29,760 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,760 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:29,761 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:29,768 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/c312efb7-1a94-40bb-bac1-11a5ba20bc68?uploadId=68d650c9d73ec60008f935af HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:29,768 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9nhe-fd8c8q-17df', 'x-amz-id-2': 'mg0l9nhe-fd8c8q-17df', 'Date': 'Fri, 26 Sep 2025 08:37:29 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:29,768 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:29,768 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,768 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:29,768 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,769 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9nhe-fd8c8q-17df', 'HostId': 'mg0l9nhe-fd8c8q-17df', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9nhe-fd8c8q-17df', 'x-amz-id-2': 'mg0l9nhe-fd8c8q-17df', 'date': 'Fri, 26 Sep 2025 08:37:29 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:29,769 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 0a7874ae-383a-41b9-9b8d-ca3b1ba8bbb0 took 0.022655487060546875 seconds gunicorn-registry stdout | 2025-09-26 08:37:29,770 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0a7874ae-383a-41b9-9b8d-ca3b1ba8bbb0', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,774 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '0a7874ae-383a-41b9-9b8d-ca3b1ba8bbb0', 5718, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwdEB2MSNoZXJtZXRpYyI6dHJ1ZX19fTcxMTF9XV19fSwiaHR0cHM6Ly9tb2J5cHJvamVjdC5vcmcvYnVpbGRraRYAAAAAAAAAALIAAAAAAABycvBm0WRSEq30wKpibMVPlCe9XYi4GL8xRfbh7L7i+5RiLg==', 9, '{"chunks": [["uploads/ca5e57f0-ce70-4477-9b47-72f411eaa0ea", 0, 5718]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 29, 474517), None, None, 73]) gunicorn-registry stdout | 2025-09-26 08:37:29,779 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:29,779 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:29,779 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:29,780 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:29,780 [250] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/af/af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1'} gunicorn-registry stdout | 2025-09-26 08:37:29,780 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,780 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,781 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,781 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,781 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,781 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,781 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,781 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:29,781 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:29,781 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:29,781 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:29,781 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,781 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,781 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,781 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/af/af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/af/af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/af/af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/af/af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:29,782 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,782 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,782 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,782 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,782 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:29,782 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/af/af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083729Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:29,783 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083729Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 11d7679484c11e0930dad5213011f66e68cc53d2b1afd0df3551166e37ce79ce gunicorn-registry stdout | 2025-09-26 08:37:29,783 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 35a5d97493dd8463a1fb93a2f0fccae62c230b4a5510f60a4ed29b17fc4840ee gunicorn-registry stdout | 2025-09-26 08:37:29,783 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,783 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:29,784 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:29,916 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/af/af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:29,917 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9nll-1bwypz-xwz', 'x-amz-id-2': 'mg0l9nll-1bwypz-xwz', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:29 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:29,917 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:29,917 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,918 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:29,918 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,918 [250] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:29,918 [250] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:29,918 [250] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/af/af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1 gunicorn-registry stdout | 2025-09-26 08:37:29,918 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:29,918 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:29,918 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:29,918 [250] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:29,918 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,919 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,919 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,919 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,919 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,919 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,919 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,919 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:29,919 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:29,919 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:29,919 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:29,919 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,919 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,919 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,919 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/ca5e57f0-ce70-4477-9b47-72f411eaa0ea', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/ca5e57f0-ce70-4477-9b47-72f411eaa0ea', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/ca5e57f0-ce70-4477-9b47-72f411eaa0ea', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/ca5e57f0-ce70-4477-9b47-72f411eaa0ea'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:29,919 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,919 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,919 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,919 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,919 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,920 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:29,920 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/ca5e57f0-ce70-4477-9b47-72f411eaa0ea gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083729Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:29,920 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083729Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | a1e4dbb2fa7c01713516e00fc05b9bf7f8de60871bcefb18a7ac452985f2460e gunicorn-registry stdout | 2025-09-26 08:37:29,920 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 8bc3655d607148eac9882a0d30c94b73ed8d45207f8fc0ca7274bd87aa33d21b gunicorn-registry stdout | 2025-09-26 08:37:29,920 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,920 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,920 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:29,921 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:29,924 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/ca5e57f0-ce70-4477-9b47-72f411eaa0ea HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:29,924 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9nlt-1gxbp9-6rh', 'x-amz-id-2': 'mg0l9nlt-1gxbp9-6rh', 'ETag': '"2e0ea2c750298f161a0797b440c268db-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:29 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '5718', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:29 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:29,924 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:29,925 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,925 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:29,925 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,925 [250] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/af/af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:29,925 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:29,925 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/af/af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:29,925 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/af/af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:29,926 [250] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/af/af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/ca5e57f0-ce70-4477-9b47-72f411eaa0ea'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/af/af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1', 'extra_args': {}, 'callbacks': [], 'size': 5718} gunicorn-registry stdout | 2025-09-26 08:37:29,926 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,926 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,926 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,926 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,926 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,926 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,926 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,926 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,926 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,926 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,926 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:29,926 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:29,926 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:29,926 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:29,927 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,927 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,927 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,927 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/af/af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/ca5e57f0-ce70-4477-9b47-72f411eaa0ea', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/af/af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/af/af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/ca5e57f0-ce70-4477-9b47-72f411eaa0ea', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/af/af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:29,927 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,927 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,927 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,927 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,927 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,927 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:29,927 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/af/af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/ca5e57f0-ce70-4477-9b47-72f411eaa0ea gunicorn-registry stdout | x-amz-date:20250926T083729Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:29,927 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083729Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 97f1c1a22928e1128ea4422bbee7db3993c3a145b101d70ab14005cd4cb81cfe gunicorn-registry stdout | 2025-09-26 08:37:29,927 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b3d30cc6e1b30450583a233eababd2506e42938b1f52efe02ec5eca7b5e249cd gunicorn-registry stdout | 2025-09-26 08:37:29,927 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,927 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,927 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:29,928 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:29,928 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:29,951 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/af/af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:29,952 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9nm0-1l7wnw-rsm', 'x-amz-id-2': 'mg0l9nm0-1l7wnw-rsm', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:29 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:29,952 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:29.000Z"2e0ea2c750298f161a0797b440c268db-1"' gunicorn-registry stdout | 2025-09-26 08:37:29,952 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,952 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:29,952 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:29,952 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:29,952 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:29,953 [250] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 0a7874ae-383a-41b9-9b8d-ca3b1ba8bbb0 with digest sha256:af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1 took 0.034926652908325195 seconds gunicorn-registry stdout | 2025-09-26 08:37:29,953 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0a7874ae-383a-41b9-9b8d-ca3b1ba8bbb0', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,956 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,958 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['674dd23c-822a-4778-b963-450cb2f9d290', 5718, None, True, True, 'sha256:af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1']) gunicorn-registry stdout | 2025-09-26 08:37:29,959 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [75, 9]) gunicorn-registry stdout | 2025-09-26 08:37:29,960 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:29,963 [250] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 75, datetime.datetime(2025, 9, 26, 8, 37, 29, 963027), datetime.datetime(2025, 9, 26, 9, 37, 29, 963012)]) gunicorn-registry stdout | 2025-09-26 08:37:29,964 [250] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [73]) gunicorn-registry stdout | 2025-09-26 08:37:29,968 [250] [DEBUG] [app] Ending request: urn:request:a3bbe155-adcc-4e49-a970-2f182c7df94d (/v2/testorg2/alpine/blobs/uploads/0a7874ae-383a-41b9-9b8d-ca3b1ba8bbb0) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:a3bbe155-adcc-4e49-a970-2f182c7df94d', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/0a7874ae-383a-41b9-9b8d-ca3b1ba8bbb0?digest=sha256:af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1', 'path': '/v2/testorg2/alpine/blobs/uploads/0a7874ae-383a-41b9-9b8d-ca3b1ba8bbb0', 'parameters': {'digest': 'sha256:af8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:29,968 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:29,968 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:29,968 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:29 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/0a7874ae-383a-41b9-9b8d-ca3b1ba8bbb0?digest=sha256%3Aaf8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:29 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/0a7874ae-383a-41b9-9b8d-ca3b1ba8bbb0?digest=sha256%3Aaf8ba8ed525578969be4e8587391aeae87258b03215037ba7cf7fd48e053a5e1 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.263 1853 0.262) globalpromstats stdout | 2025-09-26 08:37:30,082 [58] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'globalpromstats.py', 'pid': '58'} gunicorn-registry stdout | 2025-09-26 08:37:30,112 [250] [DEBUG] [app] Starting request: urn:request:1f0c600f-dd9d-4d1a-96d0-0817b257cca2 (/v2/testorg2/alpine/blobs/sha256:4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:30,112 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:30,112 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:30,112 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:30,113 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:30,113 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:30,113 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:30,113 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:30,113 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:30,114 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,118 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,121 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:30,122 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733_2 gunicorn-registry stdout | 2025-09-26 08:37:30,122 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:30,123 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,127 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,130 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,134 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,138 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,141 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733_2: None gunicorn-registry stdout | 2025-09-26 08:37:30,141 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733_2: None gunicorn-registry stdout | 2025-09-26 08:37:30,141 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:30,142 [250] [DEBUG] [app] Ending request: urn:request:1f0c600f-dd9d-4d1a-96d0-0817b257cca2 (/v2/testorg2/alpine/blobs/sha256:4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:1f0c600f-dd9d-4d1a-96d0-0817b257cca2', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733', 'path': '/v2/testorg2/alpine/blobs/sha256:4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:30,142 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:30,143 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:30,143 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:30 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:30 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.032 1718 0.032) gunicorn-registry stdout | 2025-09-26 08:37:30,240 [250] [DEBUG] [app] Starting request: urn:request:703c23b9-96af-4b0d-9db2-ce56d8def9dc (/v2/testorg2/alpine/blobs/uploads/1e4eca49-cab5-4c02-8955-6afc6fae7698) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:30,241 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '1e4eca49-cab5-4c02-8955-6afc6fae7698', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:30,241 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:30,241 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:30,242 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:30,242 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:30,242 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:30,242 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:30,242 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:30,243 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,247 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,251 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,255 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,258 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,262 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,265 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,268 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:30,272 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['1e4eca49-cab5-4c02-8955-6afc6fae7698', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,276 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:30,276 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:30,276 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:30,277 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:30,277 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:30,277 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,277 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,277 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,277 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,277 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:30,277 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,278 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,278 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:30,278 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:30,278 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:30,278 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:30,278 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:30,278 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,278 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,278 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,278 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:30,278 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:30,278 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:30,278 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,278 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,279 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:30,279 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083730Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:30,279 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083730Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 89a3455e043393db60a2eefb7240a7297b090662072e832ab850742f18c6af32 gunicorn-registry stdout | 2025-09-26 08:37:30,279 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 8450721aa924ddb9c42c6d872dee899f58fd9971b7a4cf4229c52d5cd7d9a3a5 gunicorn-registry stdout | 2025-09-26 08:37:30,279 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,279 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:30,279 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:30,285 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:30,285 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9nvs-7enurk-18g5', 'x-amz-id-2': 'mg0l9nvs-7enurk-18g5', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:30 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:30,285 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b55084868d650cad73ec60008f935b5' gunicorn-registry stdout | 2025-09-26 08:37:30,285 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,285 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:30,285 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:30,286 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9nvs-7enurk-18g5', 'HostId': 'mg0l9nvs-7enurk-18g5', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9nvs-7enurk-18g5', 'x-amz-id-2': 'mg0l9nvs-7enurk-18g5', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:30 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848', 'UploadId': '68d650cad73ec60008f935b5'} gunicorn-registry stdout | 2025-09-26 08:37:30,286 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:30,286 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:30,286 [250] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:30,287 [250] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848', 'UploadId': '68d650cad73ec60008f935b5', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50db264d0>, 'ContentLength': 241} gunicorn-registry stdout | 2025-09-26 08:37:30,287 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,287 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,287 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,287 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,287 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:30,287 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,287 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,287 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:30,287 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:30,287 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:30,287 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:30,287 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:30,287 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,287 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,287 [250] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:30,287 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,288 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,288 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848', 'query_string': {'uploadId': '68d650cad73ec60008f935b5', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '241', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'LaforWcR/YEBXbU3j30gIg==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50db264d0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848?uploadId=68d650cad73ec60008f935b5&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848', 'UploadId': '68d650cad73ec60008f935b5', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50db264d0>, 'ContentLength': 241}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:30,288 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:30,288 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:30,288 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,288 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,288 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:30,288 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848 gunicorn-registry stdout | partNumber=1&uploadId=68d650cad73ec60008f935b5 gunicorn-registry stdout | content-length:241 gunicorn-registry stdout | content-md5:LaforWcR/YEBXbU3j30gIg== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083730Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:30,288 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083730Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | becc7ebe29ace67a571046f99c58440939a3cbd043206aea4095fe00c787de8a gunicorn-registry stdout | 2025-09-26 08:37:30,288 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 2da4d444f6a2719fc68459bc853784023a56f67ce224648240bece02ea89b988 gunicorn-registry stdout | 2025-09-26 08:37:30,288 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,288 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:30,288 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:30,289 [250] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:30,289 [250] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:30,355 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848?uploadId=68d650cad73ec60008f935b5&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:30,356 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9nw1-7jynv6-amk', 'x-amz-id-2': 'mg0l9nw1-7jynv6-amk', 'ETag': '"2da7e8ad6711fd81015db5378f7d2022"', 'Date': 'Fri, 26 Sep 2025 08:37:30 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:30,356 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:30,356 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,356 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:30,356 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:30,356 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9nw1-7jynv6-amk', 'HostId': 'mg0l9nw1-7jynv6-amk', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9nw1-7jynv6-amk', 'x-amz-id-2': 'mg0l9nw1-7jynv6-amk', 'etag': '"2da7e8ad6711fd81015db5378f7d2022"', 'date': 'Fri, 26 Sep 2025 08:37:30 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"2da7e8ad6711fd81015db5378f7d2022"'} gunicorn-registry stdout | 2025-09-26 08:37:30,356 [250] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848', 'UploadId': '68d650cad73ec60008f935b5', 'MultipartUpload': {'Parts': [{'ETag': '"2da7e8ad6711fd81015db5378f7d2022"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:30,357 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,357 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,357 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,357 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:30,357 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,357 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,357 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:30,357 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:30,357 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:30,357 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:30,357 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:30,357 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,357 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,357 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,357 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848', 'query_string': {'uploadId': '68d650cad73ec60008f935b5'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"2da7e8ad6711fd81015db5378f7d2022"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848?uploadId=68d650cad73ec60008f935b5', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848', 'UploadId': '68d650cad73ec60008f935b5', 'MultipartUpload': {'Parts': [{'ETag': '"2da7e8ad6711fd81015db5378f7d2022"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:30,358 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:30,358 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:30,358 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,358 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,358 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:30,358 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848 gunicorn-registry stdout | uploadId=68d650cad73ec60008f935b5 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:84c5f95da5888fcf505169608c036b4a759a1abe6afab661ae0755c7c4c4b22a gunicorn-registry stdout | x-amz-date:20250926T083730Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 84c5f95da5888fcf505169608c036b4a759a1abe6afab661ae0755c7c4c4b22a gunicorn-registry stdout | 2025-09-26 08:37:30,358 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083730Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4e642acc2c5a67683fec9a1c412026d53189614de0f26c0bb143eb099c82584d gunicorn-registry stdout | 2025-09-26 08:37:30,358 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | baa29960489bcc53ece70f1485a59d6299f9e04a10e762c35b5a356d84a20408 gunicorn-registry stdout | 2025-09-26 08:37:30,358 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,358 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:30,358 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:30,374 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848?uploadId=68d650cad73ec60008f935b5 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:30,374 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9nxz-8pn6d1-aa3', 'x-amz-id-2': 'mg0l9nxz-8pn6d1-aa3', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:30 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:30,374 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848"5326b816e6e0a28dad7eaccd010d2a2a-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848?uploadId=68d650cad73ec60008f935b5' gunicorn-registry stdout | 2025-09-26 08:37:30,374 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,374 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:30,375 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:30,375 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:30,375 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9nxz-8pn6d1-aa3', 'HostId': 'mg0l9nxz-8pn6d1-aa3', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9nxz-8pn6d1-aa3', 'x-amz-id-2': 'mg0l9nxz-8pn6d1-aa3', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:30 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848?uploadId=68d650cad73ec60008f935b5', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a72bc061-58d0-453c-952e-ed618b550848', 'ETag': '"5326b816e6e0a28dad7eaccd010d2a2a-1"'} gunicorn-registry stdout | 2025-09-26 08:37:30,375 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:30,376 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:30,376 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 241 bytes to blob 1e4eca49-cab5-4c02-8955-6afc6fae7698 took 0.0999293327331543 seconds gunicorn-registry stdout | 2025-09-26 08:37:30,377 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['1e4eca49-cab5-4c02-8955-6afc6fae7698', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,380 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '1e4eca49-cab5-4c02-8955-6afc6fae7698', 241, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwNGU4NTg3MzkxYWVhZTg3MjU4YjAzMjE1MDM3YmE3Y2Y3ZmQ0OGUwNTNhNWUxIl19fWE4ZWQ1MjU1Nzg5NjliZTEAAAAAAAAAAAYAAAAAAADt3emXmagEnHKTsuMAExVBYZH+YjB36FzPOz6lDS8P3ZRiLg==', 9, '{"chunks": [["uploads/a72bc061-58d0-453c-952e-ed618b550848", 0, 241]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 30, 196591), None, None, 75]) gunicorn-registry stdout | 2025-09-26 08:37:30,386 [250] [DEBUG] [app] Ending request: urn:request:703c23b9-96af-4b0d-9db2-ce56d8def9dc (/v2/testorg2/alpine/blobs/uploads/1e4eca49-cab5-4c02-8955-6afc6fae7698) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:703c23b9-96af-4b0d-9db2-ce56d8def9dc', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/1e4eca49-cab5-4c02-8955-6afc6fae7698', 'path': '/v2/testorg2/alpine/blobs/uploads/1e4eca49-cab5-4c02-8955-6afc6fae7698', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:30,386 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:30,386 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:30,386 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:30 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/1e4eca49-cab5-4c02-8955-6afc6fae7698 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:30 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/1e4eca49-cab5-4c02-8955-6afc6fae7698 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.146 2017 0.146) securityworker stdout | 2025-09-26 08:37:30,813 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "POST /indexer/api/v1/index_report HTTP/1.1" 201 None securityworker stdout | 2025-09-26 08:37:30,816 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."manifest_id", "t1"."repository_id", "t1"."index_status", "t1"."error_json", "t1"."last_indexed", "t1"."indexer_hash", "t1"."indexer_version", "t1"."metadata_json" FROM "manifestsecuritystatus" AS "t1" WHERE ("t1"."manifest_id" = %s) LIMIT %s OFFSET %s', [25, 1, 0]) securityworker stdout | 2025-09-26 08:37:30,820 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE ("t1"."manifest_id" = %s) LIMIT %s OFFSET %s', [25, 1, 0]) securityworker stdout | 2025-09-26 08:37:30,825 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:37:30,825 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/matcher/api/v1/vulnerability_report/sha256:4562b419adf48c5f3c763995d6014c123b3ce1d2e0ef2613b189779caa787192 gunicorn-registry stdout | 2025-09-26 08:37:30,885 [253] [DEBUG] [app] Starting request: urn:request:b6c5e9e9-49ab-4459-bdb3-b2cbce6b81ae (/v2/testorg2/alpine/blobs/sha256:cbe7080b5783de104ad67ff4595bfa8ae70a597181a84621f51c5ccd084218da) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:30,885 [253] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:cbe7080b5783de104ad67ff4595bfa8ae70a597181a84621f51c5ccd084218da', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:30,885 [253] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:30,885 [253] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:30,886 [253] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:30,886 [253] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:30,886 [253] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:30,886 [253] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:30,886 [253] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:30,887 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,892 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,895 [253] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:30,895 [253] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:cbe7080b5783de104ad67ff4595bfa8ae70a597181a84621f51c5ccd084218da_2 gunicorn-registry stdout | 2025-09-26 08:37:30,895 [253] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:cbe7080b5783de104ad67ff4595bfa8ae70a597181a84621f51c5ccd084218da_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:30,897 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,901 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,904 [253] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,908 [253] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:cbe7080b5783de104ad67ff4595bfa8ae70a597181a84621f51c5ccd084218da', 1, 0]) securityworker stdout | 2025-09-26 08:37:30,910 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /matcher/api/v1/vulnerability_report/sha256:4562b419adf48c5f3c763995d6014c123b3ce1d2e0ef2613b189779caa787192 HTTP/1.1" 200 None gunicorn-registry stdout | 2025-09-26 08:37:30,911 [253] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:cbe7080b5783de104ad67ff4595bfa8ae70a597181a84621f51c5ccd084218da', 1, 0]) securityworker stdout | 2025-09-26 08:37:30,913 [89] [DEBUG] [data.secscan_model.secscan_v4_model] Attempting to create notifications for manifest #25 securityworker stdout | 2025-09-26 08:37:30,914 [89] [DEBUG] [peewee] ('DELETE FROM "manifestsecuritystatus" WHERE ("manifestsecuritystatus"."manifest_id" = %s)', [25]) gunicorn-registry stdout | 2025-09-26 08:37:30,916 [253] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:cbe7080b5783de104ad67ff4595bfa8ae70a597181a84621f51c5ccd084218da_2: None gunicorn-registry stdout | 2025-09-26 08:37:30,916 [253] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:cbe7080b5783de104ad67ff4595bfa8ae70a597181a84621f51c5ccd084218da_2: None gunicorn-registry stdout | 2025-09-26 08:37:30,916 [253] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' securityworker stdout | 2025-09-26 08:37:30,916 [89] [DEBUG] [peewee] ('INSERT INTO "manifestsecuritystatus" ("manifest_id", "repository_id", "index_status", "error_json", "last_indexed", "indexer_hash", "indexer_version", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifestsecuritystatus"."id"', [25, 3, 2, '""', datetime.datetime(2025, 9, 26, 8, 37, 30, 916080), '37b46b4a70b6f1a19d5e4e18d21f57ff', 4, '{}']) gunicorn-registry stdout | 2025-09-26 08:37:30,916 [253] [DEBUG] [app] Ending request: urn:request:b6c5e9e9-49ab-4459-bdb3-b2cbce6b81ae (/v2/testorg2/alpine/blobs/sha256:cbe7080b5783de104ad67ff4595bfa8ae70a597181a84621f51c5ccd084218da) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:b6c5e9e9-49ab-4459-bdb3-b2cbce6b81ae', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:cbe7080b5783de104ad67ff4595bfa8ae70a597181a84621f51c5ccd084218da', 'path': '/v2/testorg2/alpine/blobs/sha256:cbe7080b5783de104ad67ff4595bfa8ae70a597181a84621f51c5ccd084218da', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:30,916 [253] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:30,916 [253] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:30,917 [253] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:30 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:cbe7080b5783de104ad67ff4595bfa8ae70a597181a84621f51c5ccd084218da HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:30 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:cbe7080b5783de104ad67ff4595bfa8ae70a597181a84621f51c5ccd084218da HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.033 1718 0.033) securityworker stdout | 2025-09-26 08:37:30,920 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [26, 1, 0]) securityworker stdout | 2025-09-26 08:37:30,924 [89] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 1, 0]) securityworker stdout | 2025-09-26 08:37:30,928 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['c705e5dd-768e-4128-887d-9ce54ffcf4e5']) securityworker stdout | 2025-09-26 08:37:30,931 [89] [DEBUG] [boto3.resources.factory] Loading s3:Object securityworker stdout | 2025-09-26 08:37:30,932 [89] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7f614e757ec0> securityworker stdout | 2025-09-26 08:37:30,932 [89] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a'} securityworker stdout | 2025-09-26 08:37:30,932 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,932 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,932 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,932 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:30,932 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,932 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:30,932 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:30,932 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:30,933 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:30,933 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:30,933 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:30,933 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,933 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,933 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,933 [89] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} securityworker stdout | 2025-09-26 08:37:30,933 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:30,933 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:30,933 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,933 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,933 [89] [DEBUG] [botocore.auth] Calculating signature using v4 auth. securityworker stdout | 2025-09-26 08:37:30,933 [89] [DEBUG] [botocore.auth] CanonicalRequest: securityworker stdout | GET securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a securityworker stdout | host:s3.openshift-storage.svc.cluster.local securityworker stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | x-amz-date:20250926T083730Z securityworker stdout | host;x-amz-content-sha256;x-amz-date securityworker stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | 2025-09-26 08:37:30,933 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | AWS4-HMAC-SHA256 securityworker stdout | 20250926T083730Z securityworker stdout | 20250926/us-east-1/s3/aws4_request securityworker stdout | 11801760fb24c8c558a4364eae46a54e3cbfad77c141741548a795f7d9b51adf securityworker stdout | 2025-09-26 08:37:30,933 [89] [DEBUG] [botocore.auth] Signature: securityworker stdout | 01ecfcba14c0fe20e5a6d59c43bcbc4e93b275dcf461e69060c3c4f688b05e04 securityworker stdout | 2025-09-26 08:37:30,934 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,934 [89] [DEBUG] [botocore.endpoint] Sending http request: securityworker stdout | 2025-09-26 08:37:30,934 [89] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem securityworker stdout | 2025-09-26 08:37:30,948 [89] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a HTTP/1.1" 200 241 securityworker stdout | 2025-09-26 08:37:30,948 [89] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9odz-1ozxrz-1bl5', 'x-amz-id-2': 'mg0l9odz-1ozxrz-1bl5', 'ETag': '"f365106852a41e8065779a8ff564fba9-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:23 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:30 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} securityworker stdout | 2025-09-26 08:37:30,948 [89] [DEBUG] [botocore.parsers] Response body: securityworker stdout | securityworker stdout | 2025-09-26 08:37:30,949 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,949 [89] [DEBUG] [botocore.retryhandler] No retry needed. securityworker stdout | 2025-09-26 08:37:30,949 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:30,949 [89] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9odz-1ozxrz-1bl5', 'HostId': 'mg0l9odz-1ozxrz-1bl5', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9odz-1ozxrz-1bl5', 'x-amz-id-2': 'mg0l9odz-1ozxrz-1bl5', 'etag': '"f365106852a41e8065779a8ff564fba9-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:23 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:30 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 23, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"f365106852a41e8065779a8ff564fba9-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } securityworker stdout | 2025-09-26 08:37:30,952 [89] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL ((SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "manifestblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1") UNION ALL (SELECT * FROM (SELECT "t5"."id", "t5"."content_checksum", "t5"."image_size", "t5"."uuid", "t5"."cas_path", "t5"."uncompressed_size" FROM "imagestorage" AS "t5" INNER JOIN "manifestblob" AS "t6" ON ("t6"."blob_id" = "t5"."id") WHERE (("t6"."repository_id" = %s) AND ("t5"."content_checksum" = %s)) LIMIT %s) AS "q2"))', [3, 'sha256:4c1312ee48af4b6cb5bc13a04e710b8164b79a1dad0e5a71386c010253eae56b', 1, 3, 'sha256:6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 1, 3, 'sha256:c03aca438ba0cf5658ce37a01bd055c6ec48f88f2ebd6fc7a4c20cd0bbe84d58', 1]) securityworker stdout | 2025-09-26 08:37:30,956 [89] [ERROR] [data.registry_model.registry_oci_model] Could not list manifest layers `26` securityworker stdout | Traceback (most recent call last): securityworker stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 666, in list_manifest_layers securityworker stdout | layers = self._list_manifest_layers( securityworker stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ securityworker stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 1263, in _list_manifest_layers securityworker stdout | for layer in layers: securityworker stdout | ^^^^^^ securityworker stdout | File "/quay-registry/image/oci/manifest.py", line 308, in get_layers securityworker stdout | command=image_layer.history.command, securityworker stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ securityworker stdout | AttributeError: 'NoneType' object has no attribute 'command' securityworker stdout | 2025-09-26 08:37:30,957 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,958 [257] [DEBUG] [app] Starting request: urn:request:58a808a7-164a-46f6-b5b7-4249673e939d (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:30,958 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:30,958 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:30,958 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:30,959 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:30,959 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:30,959 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:30,959 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:30,959 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine securityworker stdout | 2025-09-26 08:37:30,960 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,961 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) securityworker stdout | 2025-09-26 08:37:30,964 [89] [WARNING] [data.secscan_model.secscan_v4_model] Cannot index 4/alpine@sha256:9c8d97ecfb803aa789985856077ccd4fede4b34fbd1e712e0e9cdc208565332e due to manifest being invalid (manifest has no layers) securityworker stdout | 2025-09-26 08:37:30,964 [89] [DEBUG] [peewee] ('DELETE FROM "manifestsecuritystatus" WHERE (("manifestsecuritystatus"."manifest_id" = %s) AND ("manifestsecuritystatus"."repository_id" = %s))', [26, 3]) gunicorn-registry stdout | 2025-09-26 08:37:30,966 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) securityworker stdout | 2025-09-26 08:37:30,966 [89] [DEBUG] [peewee] ('INSERT INTO "manifestsecuritystatus" ("manifest_id", "repository_id", "index_status", "error_json", "last_indexed", "indexer_hash", "indexer_version", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifestsecuritystatus"."id"', [26, 3, -2, '{}', datetime.datetime(2025, 9, 26, 8, 37, 30, 966456), 'none', 4, '{}']) gunicorn-registry stdout | 2025-09-26 08:37:30,970 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) securityworker stdout | 2025-09-26 08:37:30,970 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [27, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,973 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) securityworker stdout | 2025-09-26 08:37:30,975 [89] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,977 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) securityworker stdout | 2025-09-26 08:37:30,978 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['2ac9bf98-4232-4b44-b0eb-d22934938341']) gunicorn-registry stdout | 2025-09-26 08:37:30,981 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) securityworker stdout | 2025-09-26 08:37:30,981 [89] [DEBUG] [boto3.resources.factory] Loading s3:Object securityworker stdout | 2025-09-26 08:37:30,982 [89] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7f614e757ec0> securityworker stdout | 2025-09-26 08:37:30,982 [89] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79'} securityworker stdout | 2025-09-26 08:37:30,982 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,982 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,982 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,982 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:30,982 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,982 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:30,982 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:30,982 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:30,982 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:30,982 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:30,982 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:30,983 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,983 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,983 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,983 [89] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} securityworker stdout | 2025-09-26 08:37:30,983 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:30,983 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:30,983 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,983 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,983 [89] [DEBUG] [botocore.auth] Calculating signature using v4 auth. securityworker stdout | 2025-09-26 08:37:30,983 [89] [DEBUG] [botocore.auth] CanonicalRequest: securityworker stdout | GET securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79 securityworker stdout | host:s3.openshift-storage.svc.cluster.local securityworker stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | x-amz-date:20250926T083730Z securityworker stdout | host;x-amz-content-sha256;x-amz-date securityworker stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | 2025-09-26 08:37:30,983 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | AWS4-HMAC-SHA256 securityworker stdout | 20250926T083730Z securityworker stdout | 20250926/us-east-1/s3/aws4_request securityworker stdout | 4406adceb786a9955e5f584b652a9e92fb3d2142a0ad01f4a8548923f989137a securityworker stdout | 2025-09-26 08:37:30,983 [89] [DEBUG] [botocore.auth] Signature: securityworker stdout | 21118774adb04f3bd2fd890b32b27ca84f99fcad704eeb4233e773690d8f0f0e securityworker stdout | 2025-09-26 08:37:30,983 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,983 [89] [DEBUG] [botocore.endpoint] Sending http request: securityworker stdout | 2025-09-26 08:37:30,984 [89] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:30,985 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:30,989 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:30,993 [257] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, '4e493911-4120-4f8b-8ecb-0ac04e1dbb97', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 30, 992958)]) securityworker stdout | 2025-09-26 08:37:30,996 [89] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79 HTTP/1.1" 200 576 securityworker stdout | 2025-09-26 08:37:30,997 [89] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ofd-2iotjh-1ahm', 'x-amz-id-2': 'mg0l9ofd-2iotjh-1ahm', 'ETag': '"109d44b9dc2e005b309d2c8d646756e8-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:25 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '576', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:30 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} securityworker stdout | 2025-09-26 08:37:30,997 [89] [DEBUG] [botocore.parsers] Response body: securityworker stdout | securityworker stdout | 2025-09-26 08:37:30,997 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:30,997 [89] [DEBUG] [botocore.retryhandler] No retry needed. securityworker stdout | 2025-09-26 08:37:30,997 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:30,997 [89] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9ofd-2iotjh-1ahm', 'HostId': 'mg0l9ofd-2iotjh-1ahm', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ofd-2iotjh-1ahm', 'x-amz-id-2': 'mg0l9ofd-2iotjh-1ahm', 'etag': '"109d44b9dc2e005b309d2c8d646756e8-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:25 GMT', 'content-type': 'application/octet-stream', 'content-length': '576', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:30 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 25, tzinfo=tzutc()), 'ContentLength': 576, 'ETag': '"109d44b9dc2e005b309d2c8d646756e8-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:30,997 [257] [DEBUG] [app] Ending request: urn:request:58a808a7-164a-46f6-b5b7-4249673e939d (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:58a808a7-164a-46f6-b5b7-4249673e939d', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:30,998 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:30,998 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:30,998 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:30 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:30 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.043 1697 0.043) securityworker stdout | 2025-09-26 08:37:30,999 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4', 1, 0]) securityworker stdout | 2025-09-26 08:37:31,004 [89] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "manifestblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [3, 'sha256:a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888', 1, 3, 'sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 1]) securityworker stdout | 2025-09-26 08:37:31,007 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['7c30ab64-a626-45a4-b553-9faef04264c0']) securityworker stdout | 2025-09-26 08:37:31,011 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['6d9afe7c-4cd4-46e0-8000-0876c9384bb4']) securityworker stdout | 2025-09-26 08:37:31,015 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."manifest_id", "t1"."repository_id", "t1"."index_status", "t1"."error_json", "t1"."last_indexed", "t1"."indexer_hash", "t1"."indexer_version", "t1"."metadata_json" FROM "manifestsecuritystatus" AS "t1" WHERE ("t1"."manifest_id" = %s)', [27]) securityworker stdout | 2025-09-26 08:37:31,018 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) securityworker stdout | 2025-09-26 08:37:31,022 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) securityworker stdout | 2025-09-26 08:37:31,025 [89] [DEBUG] [data.secscan_model.secscan_v4_model] Indexing manifest [27] 4/alpine@sha256:0a88b42ba69d6b900848f9cb9151587bb82827d0aecfa222e51981fad97b5b9a securityworker stdout | 2025-09-26 08:37:31,026 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,026 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,026 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,026 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:31,026 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,026 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:31,026 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:31,026 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:31,026 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:31,026 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:31,026 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:31,026 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:31,026 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,026 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:37:31,026 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:37:31,026 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876451 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888 securityworker stdout | 2025-09-26 08:37:31,032 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EVXhMQ0pwWVhRaU9qRTNOVGc0TnpVNE5URXNJbVY0Y0NJNk1UYzFPRGczTmpRMU1Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE5TOWhOVFZtTW1aaU9EbGtZVFJqWVdGbE1HUTNPRE5qTURBME5XRTJOelEwTm1SbFpUbGlZbVE1TnpkbVpXTmlORFJrWWpsbE1USXpNVFUxTUdaaE9EZzRQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFtUzNsVGFXODNSMnB3Y1VSV2NtNTJjSGt6UzBGd01IZDRiMjhsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRVeElpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuVkNXcTBtaEtYX0tMR3o5bjlQbGJ4M2xfM0t2cENmaHZKdWZyUThBdHd0NjU1QVdrZ1pDVnFFaDN6dVRFczRSU2NuTFhpN0tsRjhYME1US18yWjlqNlRTUlFLRTVhS3M0LW9aWklCb3QwaWpVN3pfcnR5cU9YZEpKUlVWb3Jia2NBOGRPaTJxdXBOZ3pvenI5ZWFFbHp3WllTenJWdFNrNHdHV2UzdEVCWkdDNk5TYUZlNVY4eXpwbXluODcxdTRsZEdoMnNJM0lyNVFXZnR5RnJ3U1hleVFSZ05TZjduRURsdk82ZlJKU3NoWnR1NUJIeFNsOEdlMjY1dEw0SXNTRXBZZjlQWTlrUnpOVEw3OWVuNkFIUzc1QzZJSm9XOHVIVjJQRFZRbTdKVmIzZlBnTDR2clYzc1hmaEEyVHAwNVFMVXJ1bndwc1BsR3hXNWVKTzBMcEFn/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=fKySio7GjpqDVrnvpy3KAp0wxoo%3D&Expires=1758876451 securityworker stdout | 2025-09-26 08:37:31,032 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,032 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,032 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,032 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:31,032 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,033 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:31,033 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:31,033 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:31,033 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:31,033 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:31,033 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:31,033 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:31,033 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,033 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:37:31,033 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:37:31,033 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876451 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888 securityworker stdout | 2025-09-26 08:37:31,040 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EVXhMQ0pwWVhRaU9qRTNOVGc0TnpVNE5URXNJbVY0Y0NJNk1UYzFPRGczTmpRMU1Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE5TOWhOVFZtTW1aaU9EbGtZVFJqWVdGbE1HUTNPRE5qTURBME5XRTJOelEwTm1SbFpUbGlZbVE1TnpkbVpXTmlORFJrWWpsbE1USXpNVFUxTUdaaE9EZzRQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFtUzNsVGFXODNSMnB3Y1VSV2NtNTJjSGt6UzBGd01IZDRiMjhsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRVeElpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuVkNXcTBtaEtYX0tMR3o5bjlQbGJ4M2xfM0t2cENmaHZKdWZyUThBdHd0NjU1QVdrZ1pDVnFFaDN6dVRFczRSU2NuTFhpN0tsRjhYME1US18yWjlqNlRTUlFLRTVhS3M0LW9aWklCb3QwaWpVN3pfcnR5cU9YZEpKUlVWb3Jia2NBOGRPaTJxdXBOZ3pvenI5ZWFFbHp3WllTenJWdFNrNHdHV2UzdEVCWkdDNk5TYUZlNVY4eXpwbXluODcxdTRsZEdoMnNJM0lyNVFXZnR5RnJ3U1hleVFSZ05TZjduRURsdk82ZlJKU3NoWnR1NUJIeFNsOEdlMjY1dEw0SXNTRXBZZjlQWTlrUnpOVEw3OWVuNkFIUzc1QzZJSm9XOHVIVjJQRFZRbTdKVmIzZlBnTDR2clYzc1hmaEEyVHAwNVFMVXJ1bndwc1BsR3hXNWVKTzBMcEFn/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a5/a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=fKySio7GjpqDVrnvpy3KAp0wxoo%3D&Expires=1758876451 securityworker stdout | 2025-09-26 08:37:31,040 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,040 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,040 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,040 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:31,040 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,040 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:31,040 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:31,040 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:31,040 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:31,040 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:31,040 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:31,040 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:31,040 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,040 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:37:31,041 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:37:31,041 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876451 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 securityworker stdout | 2025-09-26 08:37:31,046 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EVXhMQ0pwWVhRaU9qRTNOVGc0TnpVNE5URXNJbVY0Y0NJNk1UYzFPRGczTmpRMU1Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE15OWhNMlZrT1RWallXVmlNREptWm1VMk9HTmtaRGxtWkRnME5EQTJOamd3WVdVNU0yUTJNek5qWWpFMk5ESXlaREF3WlRoaE4yTXlNamsxTldJME5tUTBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDEwUkRVeFIxaGhkM0ZwVlcxU1lURm9RU1V5UWpSWE5UVk9lR2hIZHlVelJDWkZlSEJwY21WelBURTNOVGc0TnpZME5URWlMQ0pvYjNOMElqb2ljek11YjNCbGJuTm9hV1owTFhOMGIzSmhaMlV1YzNaakxtTnNkWE4wWlhJdWJHOWpZV3c2TkRReklpd2ljMk5vWlcxbElqb2lhSFIwY0hNaWZWMHNJbU52Ym5SbGVIUWlPbnQ5ZlEuRUdXLVJvVzVVWEluSnB2blFZM3RjeDhYTDlHQWRJcG96QUlaZDZMZHNHc2dWTlpibHR2QnZzZ2VxUEtGMVF5dFpTNHo3Q1ZrREtpNnJZcGpvaE5ETVhDcVI4cEJWSWQ3a1JJUWtLLXI4OFRVZEJSTzAxSUZvY3B6bGFTZDlCa0wxOWtPWEFsS0h3dUx3UkVqaUtvYkE2Y2F5b0dlY0VaTzlRR19qVml4OXE3U245NTlaZWFPR3p0OHktcUdGb0NvZnJrZ0xhN2F1b2tLZDZnNDhDWXdvNnFkUzlZUTJTQmxMNlBWaGRoUHpEdEUydTNwMG40YnRza2lKUXB5UURvOS0wOXZVMmxvY1FFS3hiNFhMWGZoUUNxZWtkeXgwbnVXY1lDN2lDM0czVGEzZW5uS05sMDU1OWk2UmRSeFJ2Sk5TX1Q4bDZxT0hDdVYyT3JUaVQwdFhn/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=tD51GXawqiUmRa1hA%2B4W55NxhGw%3D&Expires=1758876451 securityworker stdout | 2025-09-26 08:37:31,047 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,047 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,047 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,047 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:31,047 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,047 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:31,047 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:31,047 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:31,047 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:31,047 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:31,047 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:31,047 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:31,047 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:31,047 [89] [DEBUG] [botocore.auth] Calculating signature using hmacv1 auth. securityworker stdout | 2025-09-26 08:37:31,047 [89] [DEBUG] [botocore.auth] HTTP request method: GET securityworker stdout | 2025-09-26 08:37:31,047 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | GET securityworker stdout | 1758876451 securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 securityworker stdout | 2025-09-26 08:37:31,054 [89] [DEBUG] [storage.downloadproxy] Proxying via URL https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrNXJWRkY2T1RWeFlXOWFSVWxDTUhGbVZ6UkpNa3BGUTJaUGJrYzBkMGR0Ym1kemJuSjRabXhhVEZFaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EVXhMQ0pwWVhRaU9qRTNOVGc0TnpVNE5URXNJbVY0Y0NJNk1UYzFPRGczTmpRMU1Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aE15OWhNMlZrT1RWallXVmlNREptWm1VMk9HTmtaRGxtWkRnME5EQTJOamd3WVdVNU0yUTJNek5qWWpFMk5ESXlaREF3WlRoaE4yTXlNamsxTldJME5tUTBQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDEwUkRVeFIxaGhkM0ZwVlcxU1lURm9RU1V5UWpSWE5UVk9lR2hIZHlVelJDWkZlSEJwY21WelBURTNOVGc0TnpZME5URWlMQ0pvYjNOMElqb2ljek11YjNCbGJuTm9hV1owTFhOMGIzSmhaMlV1YzNaakxtTnNkWE4wWlhJdWJHOWpZV3c2TkRReklpd2ljMk5vWlcxbElqb2lhSFIwY0hNaWZWMHNJbU52Ym5SbGVIUWlPbnQ5ZlEuRUdXLVJvVzVVWEluSnB2blFZM3RjeDhYTDlHQWRJcG96QUlaZDZMZHNHc2dWTlpibHR2QnZzZ2VxUEtGMVF5dFpTNHo3Q1ZrREtpNnJZcGpvaE5ETVhDcVI4cEJWSWQ3a1JJUWtLLXI4OFRVZEJSTzAxSUZvY3B6bGFTZDlCa0wxOWtPWEFsS0h3dUx3UkVqaUtvYkE2Y2F5b0dlY0VaTzlRR19qVml4OXE3U245NTlaZWFPR3p0OHktcUdGb0NvZnJrZ0xhN2F1b2tLZDZnNDhDWXdvNnFkUzlZUTJTQmxMNlBWaGRoUHpEdEUydTNwMG40YnRza2lKUXB5UURvOS0wOXZVMmxvY1FFS3hiNFhMWGZoUUNxZWtkeXgwbnVXY1lDN2lDM0czVGEzZW5uS05sMDU1OWk2UmRSeFJ2Sk5TX1Q4bDZxT0hDdVYyT3JUaVQwdFhn/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=tD51GXawqiUmRa1hA%2B4W55NxhGw%3D&Expires=1758876451 securityworker stdout | 2025-09-26 08:37:31,054 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:37:31,054 [89] [DEBUG] [util.secscan.v4.api] POSTing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_report gunicorn-registry stdout | 2025-09-26 08:37:32,149 [250] [DEBUG] [app] Starting request: urn:request:48a416f4-fed6-46cc-acfe-303243330c9f (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:32,149 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:32,149 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:32,149 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:32,150 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:32,151 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:32,151 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:32,151 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:32,151 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:32,152 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,156 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,159 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,163 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,167 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,171 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,175 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:32,179 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,183 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, '144a3cb8-1979-4dce-8122-230c3b96640a', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 32, 182980)]) gunicorn-registry stdout | 2025-09-26 08:37:32,188 [250] [DEBUG] [app] Ending request: urn:request:48a416f4-fed6-46cc-acfe-303243330c9f (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:48a416f4-fed6-46cc-acfe-303243330c9f', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:32,188 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:32,188 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:32,188 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:32 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:32 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.040 1697 0.040) gunicorn-registry stdout | 2025-09-26 08:37:32,229 [255] [DEBUG] [app] Starting request: urn:request:f4a14a78-9afa-44c2-a785-1d5b4853b7ce (/v2/testorg2/alpine/blobs/uploads/144a3cb8-1979-4dce-8122-230c3b96640a) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:32,229 [255] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '144a3cb8-1979-4dce-8122-230c3b96640a', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:32,229 [255] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:32,229 [255] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:32,230 [255] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:32,230 [255] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:32,230 [255] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:32,230 [255] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:32,231 [255] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:32,232 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,235 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,239 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,243 [255] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,246 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,249 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,253 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,257 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:32,261 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['144a3cb8-1979-4dce-8122-230c3b96640a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,265 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:32,265 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:32,265 [255] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:32,266 [255] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:32,267 [255] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:32,267 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,267 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,267 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,267 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,267 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,267 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,267 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,267 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,267 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:32,268 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:32,268 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:32,268 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:32,268 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,268 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,268 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,268 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:32,268 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,268 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,268 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,268 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,269 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:32,269 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083732Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:32,269 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083732Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ab68e1e9c7f9222ac4467d5126ade0082fcb614e205beb48c1fd65780c8e22af gunicorn-registry stdout | 2025-09-26 08:37:32,269 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 58f2c3f7375e496f62d390a2c78c03eb676c7cc8130df7d6979731acd45a89b7 gunicorn-registry stdout | 2025-09-26 08:37:32,269 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,269 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:32,269 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:32,270 [255] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:37:32,303 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:32,304 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9pfu-7ph6bh-114v', 'x-amz-id-2': 'mg0l9pfu-7ph6bh-114v', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:32 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:32,304 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad68d650ccd73ec60008f935c7' gunicorn-registry stdout | 2025-09-26 08:37:32,304 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,304 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:32,304 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,305 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9pfu-7ph6bh-114v', 'HostId': 'mg0l9pfu-7ph6bh-114v', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9pfu-7ph6bh-114v', 'x-amz-id-2': 'mg0l9pfu-7ph6bh-114v', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:32 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad', 'UploadId': '68d650ccd73ec60008f935c7'} gunicorn-registry stdout | 2025-09-26 08:37:32,305 [255] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:32,305 [255] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:32,305 [255] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:32,306 [255] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad', 'UploadId': '68d650ccd73ec60008f935c7', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc5d6c0>, 'ContentLength': 584} gunicorn-registry stdout | 2025-09-26 08:37:32,306 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,306 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,306 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,306 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,306 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,306 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,306 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,306 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,306 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:32,306 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:32,306 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:32,306 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:32,307 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,307 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,307 [255] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:32,307 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,307 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,307 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad', 'query_string': {'uploadId': '68d650ccd73ec60008f935c7', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '584', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'URIlp42BR/iFjZ8pd9VvoA==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc5d6c0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad?uploadId=68d650ccd73ec60008f935c7&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad', 'UploadId': '68d650ccd73ec60008f935c7', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc5d6c0>, 'ContentLength': 584}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:32,307 [255] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,307 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,307 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,307 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,307 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:32,308 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad gunicorn-registry stdout | partNumber=1&uploadId=68d650ccd73ec60008f935c7 gunicorn-registry stdout | content-length:584 gunicorn-registry stdout | content-md5:URIlp42BR/iFjZ8pd9VvoA== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083732Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:32,308 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083732Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 0a4a6deb4203b53379675f79666b50131dd4990d6eb13de10d8e4d8a2f66163c gunicorn-registry stdout | 2025-09-26 08:37:32,308 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 640561745d7426791e1aa15bb5c6cfc42be1e430db3e72155d1d843ae8e14ff5 gunicorn-registry stdout | 2025-09-26 08:37:32,308 [255] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,308 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:32,308 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:32,309 [255] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:32,309 [255] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:32,396 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad?uploadId=68d650ccd73ec60008f935c7&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:32,396 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9pg5-7vv42o-gop', 'x-amz-id-2': 'mg0l9pg5-7vv42o-gop', 'ETag': '"511225a78d8147f8858d9f2977d56fa0"', 'Date': 'Fri, 26 Sep 2025 08:37:32 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:32,396 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:32,396 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,397 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:32,397 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,397 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9pg5-7vv42o-gop', 'HostId': 'mg0l9pg5-7vv42o-gop', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9pg5-7vv42o-gop', 'x-amz-id-2': 'mg0l9pg5-7vv42o-gop', 'etag': '"511225a78d8147f8858d9f2977d56fa0"', 'date': 'Fri, 26 Sep 2025 08:37:32 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"511225a78d8147f8858d9f2977d56fa0"'} gunicorn-registry stdout | 2025-09-26 08:37:32,397 [255] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad', 'UploadId': '68d650ccd73ec60008f935c7', 'MultipartUpload': {'Parts': [{'ETag': '"511225a78d8147f8858d9f2977d56fa0"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:32,397 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,397 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,397 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,397 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,397 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,397 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,397 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,397 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:32,397 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:32,397 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:32,397 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:32,398 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,398 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,398 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,398 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad', 'query_string': {'uploadId': '68d650ccd73ec60008f935c7'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"511225a78d8147f8858d9f2977d56fa0"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad?uploadId=68d650ccd73ec60008f935c7', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad', 'UploadId': '68d650ccd73ec60008f935c7', 'MultipartUpload': {'Parts': [{'ETag': '"511225a78d8147f8858d9f2977d56fa0"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:32,398 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,398 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,398 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,398 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,398 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:32,399 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad gunicorn-registry stdout | uploadId=68d650ccd73ec60008f935c7 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:b84bf313da68420cf5cde890b387e1e6c53e1597ccabdc4996444cdc0d171fd8 gunicorn-registry stdout | x-amz-date:20250926T083732Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | b84bf313da68420cf5cde890b387e1e6c53e1597ccabdc4996444cdc0d171fd8 gunicorn-registry stdout | 2025-09-26 08:37:32,399 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083732Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 761a647fc382772570050bbdd2969bcb8c71995bf16d298ac45053d9b87fa43a gunicorn-registry stdout | 2025-09-26 08:37:32,399 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 2a77e79d715b7799c74fcda29ae041e2443a2fa03d0f436fe2429996584b70af gunicorn-registry stdout | 2025-09-26 08:37:32,399 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,399 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:32,399 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:32,415 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad?uploadId=68d650ccd73ec60008f935c7 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:32,415 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9pio-9dvqdn-nze', 'x-amz-id-2': 'mg0l9pio-9dvqdn-nze', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:32 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:32,415 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad"00318939fab3984e597fce89e3a44d6f-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad?uploadId=68d650ccd73ec60008f935c7' gunicorn-registry stdout | 2025-09-26 08:37:32,415 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,416 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,416 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:32,416 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,416 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9pio-9dvqdn-nze', 'HostId': 'mg0l9pio-9dvqdn-nze', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9pio-9dvqdn-nze', 'x-amz-id-2': 'mg0l9pio-9dvqdn-nze', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:32 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad?uploadId=68d650ccd73ec60008f935c7', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad', 'ETag': '"00318939fab3984e597fce89e3a44d6f-1"'} gunicorn-registry stdout | 2025-09-26 08:37:32,416 [255] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:32,417 [255] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:32,417 [255] [DEBUG] [data.registry_model.blobuploader] Uploaded 584 bytes to blob 144a3cb8-1979-4dce-8122-230c3b96640a took 0.15194392204284668 seconds gunicorn-registry stdout | 2025-09-26 08:37:32,418 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['144a3cb8-1979-4dce-8122-230c3b96640a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,422 [255] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '144a3cb8-1979-4dce-8122-230c3b96640a', 584, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwNzA3MyJdfX05ODdiZTY2ZmUyNDc0MjE3M2YyMmU1ZWZmODNlNzFlNzViZWM1OGM2NmExNjcxYzc2ZjVlN2QxYggAAAAAAAAAABIAAAAAAACzdbQr/QXnakJRirBPdutc57lQvZz6XMVE1ALLaeDVHZRiLg==', 9, '{"chunks": [["uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad", 0, 584]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 32, 182980), None, None, 77]) gunicorn-registry stdout | 2025-09-26 08:37:32,428 [255] [DEBUG] [app] Ending request: urn:request:f4a14a78-9afa-44c2-a785-1d5b4853b7ce (/v2/testorg2/alpine/blobs/uploads/144a3cb8-1979-4dce-8122-230c3b96640a) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:f4a14a78-9afa-44c2-a785-1d5b4853b7ce', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/144a3cb8-1979-4dce-8122-230c3b96640a', 'path': '/v2/testorg2/alpine/blobs/uploads/144a3cb8-1979-4dce-8122-230c3b96640a', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:32,428 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:32,428 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:32,429 [255] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:32 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/144a3cb8-1979-4dce-8122-230c3b96640a HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:32 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/144a3cb8-1979-4dce-8122-230c3b96640a HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.201 2360 0.200) gunicorn-registry stdout | 2025-09-26 08:37:32,469 [254] [DEBUG] [app] Starting request: urn:request:f65b9f4a-c159-4446-9875-29b75347fa0a (/v2/testorg2/alpine/blobs/uploads/144a3cb8-1979-4dce-8122-230c3b96640a) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:32,469 [254] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '144a3cb8-1979-4dce-8122-230c3b96640a', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:32,469 [254] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:32,469 [254] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:32,470 [254] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:32,470 [254] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:32,470 [254] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:32,471 [254] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:32,471 [254] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:32,472 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,476 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,480 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,484 [254] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,488 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,492 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,496 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,500 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:32,503 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['144a3cb8-1979-4dce-8122-230c3b96640a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,506 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:32,507 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:32,507 [254] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:32,510 [254] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:32,510 [254] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a64cafc0-882f-4566-85a7-dc8953d985d2', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:32,510 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,510 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,510 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,510 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,510 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,510 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,510 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,510 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,510 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:32,510 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:32,510 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:32,510 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:32,511 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,511 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,511 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,511 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/a64cafc0-882f-4566-85a7-dc8953d985d2?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a64cafc0-882f-4566-85a7-dc8953d985d2', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a64cafc0-882f-4566-85a7-dc8953d985d2?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a64cafc0-882f-4566-85a7-dc8953d985d2', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:32,511 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,511 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,511 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,511 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,511 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:32,511 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a64cafc0-882f-4566-85a7-dc8953d985d2 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083732Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:32,511 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083732Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | d31e02cf2481ee99560ba4d155999d8412db2a67061a0b40eb1c5df2edb48732 gunicorn-registry stdout | 2025-09-26 08:37:32,511 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 54bffef42ce77957452ade088b92931413fa4a2dc123f8aa40c51f3898b151da gunicorn-registry stdout | 2025-09-26 08:37:32,512 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,512 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:32,512 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:32,512 [254] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:37:32,541 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a64cafc0-882f-4566-85a7-dc8953d985d2?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:32,542 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9pmh-bncwmf-dmr', 'x-amz-id-2': 'mg0l9pmh-bncwmf-dmr', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:32 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:32,542 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/a64cafc0-882f-4566-85a7-dc8953d985d268d650ccd73ec60008f935cd' gunicorn-registry stdout | 2025-09-26 08:37:32,542 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,542 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:32,542 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,542 [254] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9pmh-bncwmf-dmr', 'HostId': 'mg0l9pmh-bncwmf-dmr', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9pmh-bncwmf-dmr', 'x-amz-id-2': 'mg0l9pmh-bncwmf-dmr', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:32 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a64cafc0-882f-4566-85a7-dc8953d985d2', 'UploadId': '68d650ccd73ec60008f935cd'} gunicorn-registry stdout | 2025-09-26 08:37:32,542 [254] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:32,543 [254] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a64cafc0-882f-4566-85a7-dc8953d985d2', 'UploadId': '68d650ccd73ec60008f935cd'} gunicorn-registry stdout | 2025-09-26 08:37:32,543 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,543 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,543 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,543 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,543 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,543 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,543 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:32,543 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:32,543 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:32,543 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:32,544 [254] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,544 [254] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,544 [254] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,544 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/a64cafc0-882f-4566-85a7-dc8953d985d2', 'query_string': {'uploadId': '68d650ccd73ec60008f935cd'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a64cafc0-882f-4566-85a7-dc8953d985d2', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a64cafc0-882f-4566-85a7-dc8953d985d2?uploadId=68d650ccd73ec60008f935cd', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a64cafc0-882f-4566-85a7-dc8953d985d2', 'UploadId': '68d650ccd73ec60008f935cd'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:32,544 [254] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,544 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,544 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,544 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,544 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:32,544 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a64cafc0-882f-4566-85a7-dc8953d985d2 gunicorn-registry stdout | uploadId=68d650ccd73ec60008f935cd gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083732Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:32,545 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083732Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | dfcb5bcc3a8ca099d6a5844524df9377f43f36c1737ea879429b0bcb561323ae gunicorn-registry stdout | 2025-09-26 08:37:32,545 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | cfa290af0758ba063afe5450b310bfaa230f03e3584c5f42ad2869d7464f80c5 gunicorn-registry stdout | 2025-09-26 08:37:32,545 [254] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,545 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:32,545 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:32,552 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a64cafc0-882f-4566-85a7-dc8953d985d2?uploadId=68d650ccd73ec60008f935cd HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:32,552 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9pmq-bt0vux-1738', 'x-amz-id-2': 'mg0l9pmq-bt0vux-1738', 'Date': 'Fri, 26 Sep 2025 08:37:32 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:32,552 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:32,553 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,553 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:32,553 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,553 [254] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9pmq-bt0vux-1738', 'HostId': 'mg0l9pmq-bt0vux-1738', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9pmq-bt0vux-1738', 'x-amz-id-2': 'mg0l9pmq-bt0vux-1738', 'date': 'Fri, 26 Sep 2025 08:37:32 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:32,553 [254] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 144a3cb8-1979-4dce-8122-230c3b96640a took 0.04624748229980469 seconds gunicorn-registry stdout | 2025-09-26 08:37:32,553 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['144a3cb8-1979-4dce-8122-230c3b96640a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,558 [254] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '144a3cb8-1979-4dce-8122-230c3b96640a', 584, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwNzA3MyJdfX05ODdiZTY2ZmUyNDc0MjE3M2YyMmU1ZWZmODNlNzFlNzViZWM1OGM2NmExNjcxYzc2ZjVlN2QxYggAAAAAAAAAABIAAAAAAACzdbQr/QXnakJRirBPdutc57lQvZz6XMVE1ALLaeDVHZRiLg==', 9, '{"chunks": [["uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad", 0, 584]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 32, 182980), None, None, 77]) gunicorn-registry stdout | 2025-09-26 08:37:32,563 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:32,564 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:32,564 [254] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:32,565 [254] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:32,566 [254] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86'} gunicorn-registry stdout | 2025-09-26 08:37:32,566 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,566 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,566 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,566 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,566 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,566 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,566 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,566 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:32,566 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:32,567 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:32,567 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:32,567 [254] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,567 [254] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,567 [254] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,567 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:32,568 [254] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,568 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,568 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,568 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,568 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:32,568 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083732Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:32,568 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083732Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | c065416e3898dbdc70d4ca457ec21a2169ff0326052f9276b465643ce042d6d6 gunicorn-registry stdout | 2025-09-26 08:37:32,568 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | cf6a3811ab15b1384e5c980e19d22df5f2d5d64e2bc71139ecc6163c7b146acc gunicorn-registry stdout | 2025-09-26 08:37:32,568 [254] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,569 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:32,569 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:32,574 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:32,574 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9pne-c6xsm2-fc', 'x-amz-id-2': 'mg0l9pne-c6xsm2-fc', 'Content-Type': 'application/xml', 'Content-Length': '337', 'Date': 'Fri, 26 Sep 2025 08:37:32 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:32,574 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:32,576 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,576 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:32,576 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,576 [254] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:32,577 [254] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:32,577 [254] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86 gunicorn-registry stdout | 2025-09-26 08:37:32,577 [254] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:32,578 [254] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:32,578 [254] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:32,578 [254] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:32,578 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,578 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,578 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,578 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,578 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,578 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,578 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,579 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:32,579 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:32,579 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:32,579 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:32,579 [254] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,579 [254] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,579 [254] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,579 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:32,580 [254] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,580 [254] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,580 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,580 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,580 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,581 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:32,581 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083732Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:32,581 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083732Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 830fb3a3d74ce0e891fd3ee62b4f4a3a14f87ebe371d6b45d7d18ab76c465a99 gunicorn-registry stdout | 2025-09-26 08:37:32,581 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 5905422aa1b69a59e0308cf69826bcd797775fc2cfd4cba0c442f5125ff99a71 gunicorn-registry stdout | 2025-09-26 08:37:32,581 [254] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,581 [254] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,581 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:32,581 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:32,582 [254] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:37:32,608 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:32,608 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9poc-cro7oz-ita', 'x-amz-id-2': 'mg0l9poc-cro7oz-ita', 'ETag': '"00318939fab3984e597fce89e3a44d6f-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:32 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '584', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:32 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:32,608 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:32,609 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,609 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:32,609 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,609 [254] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:32,609 [254] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:32,610 [254] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:32,610 [254] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:32,610 [254] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86', 'extra_args': {}, 'callbacks': [], 'size': 584} gunicorn-registry stdout | 2025-09-26 08:37:32,610 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,610 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,610 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,610 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,610 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,610 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,610 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,610 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,611 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,611 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,612 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:32,612 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:32,612 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:32,612 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:32,612 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,612 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,612 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,612 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:32,612 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,612 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,613 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,613 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,613 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,613 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:32,613 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e84796f9-a1d9-4c82-91ca-681f7b9755ad gunicorn-registry stdout | x-amz-date:20250926T083732Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:32,613 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083732Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 7c13fdf5c53b2cd42f51cfaae48df8f2f7eddd32a6ae85d63957d75e15fadf28 gunicorn-registry stdout | 2025-09-26 08:37:32,613 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ec0dba3afdd7d54b87ca4e085b4970effcc016fca9edfcb0e2063297d28ef490 gunicorn-registry stdout | 2025-09-26 08:37:32,613 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,613 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,613 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:32,614 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:32,614 [254] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:32,638 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:32,638 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9pon-cxogl8-464', 'x-amz-id-2': 'mg0l9pon-cxogl8-464', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:32 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:32,638 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:32.000Z"00318939fab3984e597fce89e3a44d6f-1"' gunicorn-registry stdout | 2025-09-26 08:37:32,639 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,639 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:32,639 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:32,639 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:32,640 [254] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-web stdout | 2025-09-26 08:37:32,640 [242] [DEBUG] [app] Starting request: urn:request:859a71ee-0626-4913-8af3-add8c8c3cb15 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:37:32,640 [254] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 144a3cb8-1979-4dce-8122-230c3b96640a with digest sha256:fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86 took 0.06404614448547363 seconds gunicorn-registry stdout | 2025-09-26 08:37:32,641 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['144a3cb8-1979-4dce-8122-230c3b96640a', 1, 0]) gunicorn-web stdout | 2025-09-26 08:37:32,642 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:37:32,644 [250] [DEBUG] [app] Starting request: urn:request:a82b2a90-f5f3-418d-8cbf-02301ec1ff6a (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:37:32,644 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,644 [250] [DEBUG] [app] Ending request: urn:request:a82b2a90-f5f3-418d-8cbf-02301ec1ff6a (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:a82b2a90-f5f3-418d-8cbf-02301ec1ff6a', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:37:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-registry stdout | 2025-09-26 08:37:32,645 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:37:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:37:32,645 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-registry stdout | 2025-09-26 08:37:32,646 [254] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['95e26042-e014-4f93-bb24-49057896bbbc', 584, None, True, True, 'sha256:fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86']) gunicorn-web stdout | 2025-09-26 08:37:32,647 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:37:32,648 [254] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [78, 9]) gunicorn-web stdout | 2025-09-26 08:37:32,648 [242] [DEBUG] [app] Starting request: urn:request:0aeb9239-84e2-49a4-b473-f22991f4a367 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:37:32,648 [242] [DEBUG] [app] Ending request: urn:request:0aeb9239-84e2-49a4-b473-f22991f4a367 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:0aeb9239-84e2-49a4-b473-f22991f4a367', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:37:32,649 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:37:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:37:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:37:32,649 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:37:32,649 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:37:32,650 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:37:32,650 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-registry stdout | 2025-09-26 08:37:32,650 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:32,651 [254] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 78, datetime.datetime(2025, 9, 26, 8, 37, 32, 651612), datetime.datetime(2025, 9, 26, 9, 37, 32, 651595)]) gunicorn-registry stdout | 2025-09-26 08:37:32,653 [254] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [77]) gunicorn-web stdout | 2025-09-26 08:37:32,657 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:37:32,657 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-registry stdout | 2025-09-26 08:37:32,658 [254] [DEBUG] [app] Ending request: urn:request:f65b9f4a-c159-4446-9875-29b75347fa0a (/v2/testorg2/alpine/blobs/uploads/144a3cb8-1979-4dce-8122-230c3b96640a) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:f65b9f4a-c159-4446-9875-29b75347fa0a', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/144a3cb8-1979-4dce-8122-230c3b96640a?digest=sha256:fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86', 'path': '/v2/testorg2/alpine/blobs/uploads/144a3cb8-1979-4dce-8122-230c3b96640a', 'parameters': {'digest': 'sha256:fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:32,659 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:32,659 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:32,659 [254] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:32 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/144a3cb8-1979-4dce-8122-230c3b96640a?digest=sha256%3Afdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:32 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/144a3cb8-1979-4dce-8122-230c3b96640a?digest=sha256%3Afdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.191 1853 0.191) gunicorn-web stdout | 2025-09-26 08:37:32,667 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:37:32,671 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:37:32,674 [242] [DEBUG] [app] Ending request: urn:request:859a71ee-0626-4913-8af3-add8c8c3cb15 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:859a71ee-0626-4913-8af3-add8c8c3cb15', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:37:32,674 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:37:32,675 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:37:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:37:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.037 118 0.036) gunicorn-web stdout | 2025-09-26 08:37:32,728 [239] [DEBUG] [app] Starting request: urn:request:695c8eb0-caaf-4ae4-a2d5-86fccbe86957 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:37:32,729 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:37:32,731 [250] [DEBUG] [app] Starting request: urn:request:e5d43276-5871-41f8-8310-cd8cbe5ee20c (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:37:32,731 [250] [DEBUG] [app] Ending request: urn:request:e5d43276-5871-41f8-8310-cd8cbe5ee20c (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:e5d43276-5871-41f8-8310-cd8cbe5ee20c', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:37:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.002) gunicorn-registry stdout | 2025-09-26 08:37:32,732 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:37:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:37:32,732 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:37:32,733 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:37:32,734 [241] [DEBUG] [app] Starting request: urn:request:f6c0cf28-5346-451e-9465-1c048605bff2 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:37:32,734 [241] [DEBUG] [app] Ending request: urn:request:f6c0cf28-5346-451e-9465-1c048605bff2 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:f6c0cf28-5346-451e-9465-1c048605bff2', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:37:32,735 [241] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:37:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:37:32,735 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:37:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:37:32,735 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:37:32,736 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:37:32,736 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:37:32,742 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:37:32,743 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:37:32,753 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:37:32,757 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:37:32,761 [239] [DEBUG] [app] Ending request: urn:request:695c8eb0-caaf-4ae4-a2d5-86fccbe86957 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:695c8eb0-caaf-4ae4-a2d5-86fccbe86957', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:37:32,761 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:37:32,761 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:37:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:37:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.034 118 0.034) gunicorn-registry stdout | 2025-09-26 08:37:32,819 [257] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '257'} gunicorn-registry stdout | 2025-09-26 08:37:32,823 [252] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '252'} gunicorn-registry stdout | 2025-09-26 08:37:32,831 [254] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '254'} gunicorn-registry stdout | 2025-09-26 08:37:32,840 [59] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '59'} gunicorn-registry stdout | 2025-09-26 08:37:32,895 [253] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '253'} gunicorn-registry stdout | 2025-09-26 08:37:32,905 [255] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '255'} gunicorn-registry stdout | 2025-09-26 08:37:32,934 [256] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '256'} gunicorn-registry stdout | 2025-09-26 08:37:32,939 [251] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '251'} gunicorn-registry stdout | 2025-09-26 08:37:32,942 [250] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '250'} gunicorn-registry stdout | 2025-09-26 08:37:32,994 [250] [DEBUG] [app] Starting request: urn:request:878f68df-5e78-47d4-9b35-cdd5156a4622 (/v2/testorg2/alpine/blobs/sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:32,994 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:32,994 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:32,994 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:32,996 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:32,996 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:32,996 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:32,996 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:32,996 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:32,997 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,001 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,005 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:33,006 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5_2 gunicorn-registry stdout | 2025-09-26 08:37:33,006 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:33,007 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,010 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,014 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,018 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,021 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,025 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5_2: None gunicorn-registry stdout | 2025-09-26 08:37:33,025 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5_2: None gunicorn-registry stdout | 2025-09-26 08:37:33,025 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:33,025 [250] [DEBUG] [app] Ending request: urn:request:878f68df-5e78-47d4-9b35-cdd5156a4622 (/v2/testorg2/alpine/blobs/sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:878f68df-5e78-47d4-9b35-cdd5156a4622', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 'path': '/v2/testorg2/alpine/blobs/sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:33,025 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:33,025 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:33,026 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:33 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:33 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.032 1718 0.033) gunicorn-registry stdout | 2025-09-26 08:37:33,156 [250] [DEBUG] [app] Starting request: urn:request:68804ae1-871b-486b-aecf-8297746dcebd (/v2/testorg2/alpine/blobs/sha256:d1e7d10cb51f8fe3bc6baa0c42ae8d782c6f053efe98a3d70dafd2ca52f1f021) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:33,156 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:d1e7d10cb51f8fe3bc6baa0c42ae8d782c6f053efe98a3d70dafd2ca52f1f021', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:33,156 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:33,156 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:33,157 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:33,157 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:33,157 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:33,157 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:33,157 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:33,158 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,162 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,166 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:33,166 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:d1e7d10cb51f8fe3bc6baa0c42ae8d782c6f053efe98a3d70dafd2ca52f1f021_2 gunicorn-registry stdout | 2025-09-26 08:37:33,166 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:d1e7d10cb51f8fe3bc6baa0c42ae8d782c6f053efe98a3d70dafd2ca52f1f021_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:33,167 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,170 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,174 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,178 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:d1e7d10cb51f8fe3bc6baa0c42ae8d782c6f053efe98a3d70dafd2ca52f1f021', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,181 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:d1e7d10cb51f8fe3bc6baa0c42ae8d782c6f053efe98a3d70dafd2ca52f1f021', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,184 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:d1e7d10cb51f8fe3bc6baa0c42ae8d782c6f053efe98a3d70dafd2ca52f1f021_2: None gunicorn-registry stdout | 2025-09-26 08:37:33,184 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:d1e7d10cb51f8fe3bc6baa0c42ae8d782c6f053efe98a3d70dafd2ca52f1f021_2: None gunicorn-registry stdout | 2025-09-26 08:37:33,185 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:33,185 [250] [DEBUG] [app] Ending request: urn:request:68804ae1-871b-486b-aecf-8297746dcebd (/v2/testorg2/alpine/blobs/sha256:d1e7d10cb51f8fe3bc6baa0c42ae8d782c6f053efe98a3d70dafd2ca52f1f021) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:68804ae1-871b-486b-aecf-8297746dcebd', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:d1e7d10cb51f8fe3bc6baa0c42ae8d782c6f053efe98a3d70dafd2ca52f1f021', 'path': '/v2/testorg2/alpine/blobs/sha256:d1e7d10cb51f8fe3bc6baa0c42ae8d782c6f053efe98a3d70dafd2ca52f1f021', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:33,185 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:33,185 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:33,185 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:33 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:d1e7d10cb51f8fe3bc6baa0c42ae8d782c6f053efe98a3d70dafd2ca52f1f021 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:33 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:d1e7d10cb51f8fe3bc6baa0c42ae8d782c6f053efe98a3d70dafd2ca52f1f021 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.030 1718 0.030) securityworker stdout | 2025-09-26 08:37:33,206 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "POST /indexer/api/v1/index_report HTTP/1.1" 201 None securityworker stdout | 2025-09-26 08:37:33,210 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."manifest_id", "t1"."repository_id", "t1"."index_status", "t1"."error_json", "t1"."last_indexed", "t1"."indexer_hash", "t1"."indexer_version", "t1"."metadata_json" FROM "manifestsecuritystatus" AS "t1" WHERE ("t1"."manifest_id" = %s) LIMIT %s OFFSET %s', [27, 1, 0]) securityworker stdout | 2025-09-26 08:37:33,214 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE ("t1"."manifest_id" = %s) LIMIT %s OFFSET %s', [27, 1, 0]) securityworker stdout | 2025-09-26 08:37:33,218 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:37:33,218 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/matcher/api/v1/vulnerability_report/sha256:0a88b42ba69d6b900848f9cb9151587bb82827d0aecfa222e51981fad97b5b9a gunicorn-registry stdout | 2025-09-26 08:37:33,228 [255] [DEBUG] [app] Starting request: urn:request:7f915b0b-bceb-4a12-8c52-9f6b3365ed8c (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:33,228 [255] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:33,228 [255] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:33,228 [255] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:33,229 [255] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:33,229 [255] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:33,229 [255] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:33,229 [255] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:33,229 [255] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:33,230 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,234 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,238 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,242 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,245 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,249 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,253 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) securityworker stdout | 2025-09-26 08:37:33,253 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /matcher/api/v1/vulnerability_report/sha256:0a88b42ba69d6b900848f9cb9151587bb82827d0aecfa222e51981fad97b5b9a HTTP/1.1" 200 None gunicorn-registry stdout | 2025-09-26 08:37:33,256 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) securityworker stdout | 2025-09-26 08:37:33,257 [89] [DEBUG] [data.secscan_model.secscan_v4_model] Attempting to create notifications for manifest #27 securityworker stdout | 2025-09-26 08:37:33,258 [89] [DEBUG] [peewee] ('DELETE FROM "manifestsecuritystatus" WHERE ("manifestsecuritystatus"."manifest_id" = %s)', [27]) securityworker stdout | 2025-09-26 08:37:33,260 [89] [DEBUG] [peewee] ('INSERT INTO "manifestsecuritystatus" ("manifest_id", "repository_id", "index_status", "error_json", "last_indexed", "indexer_hash", "indexer_version", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifestsecuritystatus"."id"', [27, 3, 2, '""', datetime.datetime(2025, 9, 26, 8, 37, 33, 260104), '37b46b4a70b6f1a19d5e4e18d21f57ff', 4, '{}']) gunicorn-registry stdout | 2025-09-26 08:37:33,260 [255] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, 'e64670db-0179-44ac-9a75-4b097765342e', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 33, 260293)]) securityworker stdout | 2025-09-26 08:37:33,264 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [28, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,265 [255] [DEBUG] [app] Ending request: urn:request:7f915b0b-bceb-4a12-8c52-9f6b3365ed8c (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:7f915b0b-bceb-4a12-8c52-9f6b3365ed8c', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:33,266 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:33,266 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:33,266 [255] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:33 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:33 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.039 1697 0.039) securityworker stdout | 2025-09-26 08:37:33,269 [89] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:b296a0a235c726e03592aeeb29590fbfb5c5ee9ef35a12e8ea0f90423f2fb8a0', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,269 [255] [DEBUG] [app] Starting request: urn:request:14a69338-1ec5-46eb-94d6-2415d888be7b (/v2/testorg2/alpine/blobs/uploads/82bd8b29-adcf-4aec-bdb7-31061e7cad45) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:33,269 [255] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '82bd8b29-adcf-4aec-bdb7-31061e7cad45', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:33,269 [255] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:33,269 [255] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:33,271 [255] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:33,271 [255] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:33,271 [255] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:33,271 [255] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:33,271 [255] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:33,272 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) securityworker stdout | 2025-09-26 08:37:33,272 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['ac420d3f-d252-48e1-b87f-f7d86072e99e']) gunicorn-registry stdout | 2025-09-26 08:37:33,275 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) securityworker stdout | 2025-09-26 08:37:33,276 [89] [DEBUG] [boto3.resources.factory] Loading s3:Object securityworker stdout | 2025-09-26 08:37:33,277 [89] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7f614e757ec0> securityworker stdout | 2025-09-26 08:37:33,278 [89] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/b2/b296a0a235c726e03592aeeb29590fbfb5c5ee9ef35a12e8ea0f90423f2fb8a0'} securityworker stdout | 2025-09-26 08:37:33,278 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:33,278 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,279 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) securityworker stdout | 2025-09-26 08:37:33,278 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:33,278 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:33,279 [89] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:33,279 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler securityworker stdout | 2025-09-26 08:37:33,279 [89] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > securityworker stdout | 2025-09-26 08:37:33,279 [89] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} securityworker stdout | 2025-09-26 08:37:33,279 [89] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 securityworker stdout | 2025-09-26 08:37:33,279 [89] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" securityworker stdout | 2025-09-26 08:37:33,279 [89] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} securityworker stdout | 2025-09-26 08:37:33,279 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:33,279 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:33,279 [89] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:33,279 [89] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/b2/b296a0a235c726e03592aeeb29590fbfb5c5ee9ef35a12e8ea0f90423f2fb8a0', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b2/b296a0a235c726e03592aeeb29590fbfb5c5ee9ef35a12e8ea0f90423f2fb8a0', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b2/b296a0a235c726e03592aeeb29590fbfb5c5ee9ef35a12e8ea0f90423f2fb8a0', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/b2/b296a0a235c726e03592aeeb29590fbfb5c5ee9ef35a12e8ea0f90423f2fb8a0'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} securityworker stdout | 2025-09-26 08:37:33,280 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:33,280 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:33,280 [89] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:33,280 [89] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:33,280 [89] [DEBUG] [botocore.auth] Calculating signature using v4 auth. securityworker stdout | 2025-09-26 08:37:33,280 [89] [DEBUG] [botocore.auth] CanonicalRequest: securityworker stdout | GET securityworker stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b2/b296a0a235c726e03592aeeb29590fbfb5c5ee9ef35a12e8ea0f90423f2fb8a0 securityworker stdout | host:s3.openshift-storage.svc.cluster.local securityworker stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | x-amz-date:20250926T083733Z securityworker stdout | host;x-amz-content-sha256;x-amz-date securityworker stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 securityworker stdout | 2025-09-26 08:37:33,280 [89] [DEBUG] [botocore.auth] StringToSign: securityworker stdout | AWS4-HMAC-SHA256 securityworker stdout | 20250926T083733Z securityworker stdout | 20250926/us-east-1/s3/aws4_request securityworker stdout | df48ca1dc5d51ea6e067f8a7e34ff7e3aaeb42418089cb293c28821f4c5b99bc securityworker stdout | 2025-09-26 08:37:33,280 [89] [DEBUG] [botocore.auth] Signature: securityworker stdout | f4754da656d43f316076e542c96fa85f57a1e577e18fc6598c899a4900529ac3 securityworker stdout | 2025-09-26 08:37:33,280 [89] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:33,280 [89] [DEBUG] [botocore.endpoint] Sending http request: securityworker stdout | 2025-09-26 08:37:33,281 [89] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:33,282 [255] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,286 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,289 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,293 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) securityworker stdout | 2025-09-26 08:37:33,295 [89] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b2/b296a0a235c726e03592aeeb29590fbfb5c5ee9ef35a12e8ea0f90423f2fb8a0 HTTP/1.1" 200 241 securityworker stdout | 2025-09-26 08:37:33,296 [89] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9q76-7fh9zn-1db9', 'x-amz-id-2': 'mg0l9q76-7fh9zn-1db9', 'ETag': '"13a49bc13fb9f5097d1550bda295ce65-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:26 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:33 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} securityworker stdout | 2025-09-26 08:37:33,296 [89] [DEBUG] [botocore.parsers] Response body: securityworker stdout | securityworker stdout | 2025-09-26 08:37:33,296 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler securityworker stdout | 2025-09-26 08:37:33,296 [89] [DEBUG] [botocore.retryhandler] No retry needed. securityworker stdout | 2025-09-26 08:37:33,296 [89] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > securityworker stdout | 2025-09-26 08:37:33,296 [89] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9q76-7fh9zn-1db9', 'HostId': 'mg0l9q76-7fh9zn-1db9', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9q76-7fh9zn-1db9', 'x-amz-id-2': 'mg0l9q76-7fh9zn-1db9', 'etag': '"13a49bc13fb9f5097d1550bda295ce65-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:26 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:33 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 26, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"13a49bc13fb9f5097d1550bda295ce65-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:33,296 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) securityworker stdout | 2025-09-26 08:37:33,299 [89] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL ((SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "manifestblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1") UNION ALL (SELECT * FROM (SELECT "t5"."id", "t5"."content_checksum", "t5"."image_size", "t5"."uuid", "t5"."cas_path", "t5"."uncompressed_size" FROM "imagestorage" AS "t5" INNER JOIN "manifestblob" AS "t6" ON ("t6"."blob_id" = "t5"."id") WHERE (("t6"."repository_id" = %s) AND ("t5"."content_checksum" = %s)) LIMIT %s) AS "q2"))', [3, 'sha256:b296a0a235c726e03592aeeb29590fbfb5c5ee9ef35a12e8ea0f90423f2fb8a0', 1, 3, 'sha256:b8214fa57fb5bdf88dfda32417ef6501734debd6772ad9f514c0f9901ac0d2c7', 1, 3, 'sha256:3cf698b1c13f6954c9440cda73cba6c5cc5068db4cb4e8bf99ccc0ae11ecaaa2', 1]) gunicorn-registry stdout | 2025-09-26 08:37:33,300 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['82bd8b29-adcf-4aec-bdb7-31061e7cad45', 1, 0]) securityworker stdout | 2025-09-26 08:37:33,303 [89] [ERROR] [data.registry_model.registry_oci_model] Could not list manifest layers `28` securityworker stdout | Traceback (most recent call last): securityworker stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 666, in list_manifest_layers securityworker stdout | layers = self._list_manifest_layers( securityworker stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ securityworker stdout | File "/quay-registry/data/registry_model/registry_oci_model.py", line 1263, in _list_manifest_layers securityworker stdout | for layer in layers: securityworker stdout | ^^^^^^ securityworker stdout | File "/quay-registry/image/oci/manifest.py", line 308, in get_layers securityworker stdout | command=image_layer.history.command, securityworker stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ securityworker stdout | AttributeError: 'NoneType' object has no attribute 'command' gunicorn-registry stdout | 2025-09-26 08:37:33,304 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:33,304 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:33,304 [255] [DEBUG] [boto3.resources.factory] Loading s3:Object securityworker stdout | 2025-09-26 08:37:33,304 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) securityworker stdout | 2025-09-26 08:37:33,307 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,307 [255] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:33,308 [255] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:33,308 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,308 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,308 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,308 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,308 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,308 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,308 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,308 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,308 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:33,308 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:33,308 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:33,308 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:33,308 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,309 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,309 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,309 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:33,309 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,309 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,309 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,309 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,309 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:33,309 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083733Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:33,309 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083733Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | fb3278cb5b0b6a7f2960bd07da6886a370a1e27173e355fb8ce742ae7de1879f gunicorn-registry stdout | 2025-09-26 08:37:33,309 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 1d807592463d5703a344d89c01fb4c9c2aede6cfaaa7fafcc4c33d86c8d05948 gunicorn-registry stdout | 2025-09-26 08:37:33,309 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,309 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:33,310 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem securityworker stdout | 2025-09-26 08:37:33,310 [89] [WARNING] [data.secscan_model.secscan_v4_model] Cannot index 4/alpine@sha256:b2fa67becb6440be30274faba2517139ef13ac375987cb92d201a09f63f81ed7 due to manifest being invalid (manifest has no layers) securityworker stdout | 2025-09-26 08:37:33,311 [89] [DEBUG] [peewee] ('DELETE FROM "manifestsecuritystatus" WHERE (("manifestsecuritystatus"."manifest_id" = %s) AND ("manifestsecuritystatus"."repository_id" = %s))', [28, 3]) securityworker stdout | 2025-09-26 08:37:33,313 [89] [DEBUG] [peewee] ('INSERT INTO "manifestsecuritystatus" ("manifest_id", "repository_id", "index_status", "error_json", "last_indexed", "indexer_hash", "indexer_version", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifestsecuritystatus"."id"', [28, 3, -2, '{}', datetime.datetime(2025, 9, 26, 8, 37, 33, 313413), 'none', 4, '{}']) gunicorn-registry stdout | 2025-09-26 08:37:33,315 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:33,315 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9q7z-7wpdp6-igw', 'x-amz-id-2': 'mg0l9q7z-7wpdp6-igw', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:33 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:33,315 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c668d650cdd73ec60008f935d0' gunicorn-registry stdout | 2025-09-26 08:37:33,315 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,315 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:33,315 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,315 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9q7z-7wpdp6-igw', 'HostId': 'mg0l9q7z-7wpdp6-igw', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9q7z-7wpdp6-igw', 'x-amz-id-2': 'mg0l9q7z-7wpdp6-igw', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:33 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6', 'UploadId': '68d650cdd73ec60008f935d0'} gunicorn-registry stdout | 2025-09-26 08:37:33,315 [255] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:33,316 [255] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:33,316 [255] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:33,316 [255] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6', 'UploadId': '68d650cdd73ec60008f935d0', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc5e3e0>, 'ContentLength': 5717} gunicorn-registry stdout | 2025-09-26 08:37:33,316 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,316 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,317 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,317 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,317 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,317 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,317 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,317 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,317 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:33,317 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:33,317 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:33,317 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:33,317 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,317 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,317 [255] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:33,317 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,317 [255] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler securityworker stdout | 2025-09-26 08:37:33,317 [89] [DEBUG] [util.migrate.allocator] Marking id range as completed: 1-29 by worker securityworker stdout | 2025-09-26 08:37:33,317 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-29 securityworker stdout | 2025-09-26 08:37:33,317 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:37:33,317 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 29 securityworker stdout | 2025-09-26 08:37:33,317 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:33,317 [89] [DEBUG] [util.migrate.allocator] Total range: 29-1 securityworker stdout | 2025-09-26 08:37:33,317 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:37:33,317 [89] [DEBUG] [util.migrate.allocator] Total range: 1-29 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Marking id range as completed: 1-29 by worker securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-29 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 29 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Total range: 29-1 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Total range: 1-29 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes gunicorn-registry stdout | 2025-09-26 08:37:33,317 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6', 'query_string': {'uploadId': '68d650cdd73ec60008f935d0', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '5717', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'baAA8x3TqWTp6O/ynOuNxg==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc5e3e0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6?uploadId=68d650cdd73ec60008f935d0&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6', 'UploadId': '68d650cdd73ec60008f935d0', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc5e3e0>, 'ContentLength': 5717}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:33,317 [255] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,317 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,318 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,318 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,318 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:33,318 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6 gunicorn-registry stdout | partNumber=1&uploadId=68d650cdd73ec60008f935d0 gunicorn-registry stdout | content-length:5717 gunicorn-registry stdout | content-md5:baAA8x3TqWTp6O/ynOuNxg== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083733Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD securityworker stdout | 2025-09-26 08:37:33,317 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:33,317 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-29 securityworker stdout | 2025-09-26 08:37:33,317 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-29 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 gunicorn-registry stdout | 2025-09-26 08:37:33,318 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083733Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 439f03c9c58550e8bf504bc03e99a7ad730bb9045e248da797125b1c74177d32 gunicorn-registry stdout | 2025-09-26 08:37:33,318 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 903e4ceab18d7ac5d44e5d80f8cfc29394845422dad69b1d8028545d391ad255 gunicorn-registry stdout | 2025-09-26 08:37:33,318 [255] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,318 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:33,318 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:33,319 [255] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:33,319 [255] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. securityworker stdout | 2025-09-26 08:37:33,319 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 32, 27, 341464), 1, 29]) securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-29 by worker securityworker stdout | 2025-09-26 08:37:33,323 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-29 by worker securityworker stdout | 2025-09-26 08:37:33,323 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-29 securityworker stdout | 2025-09-26 08:37:33,323 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:37:33,323 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 29 securityworker stdout | 2025-09-26 08:37:33,323 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:33,323 [89] [DEBUG] [util.migrate.allocator] Total range: 29-1 securityworker stdout | 2025-09-26 08:37:33,323 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:37:33,323 [89] [DEBUG] [util.migrate.allocator] Total range: 1-29 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-29 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 29 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Total range: 29-1 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Total range: 1-29 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:33,323 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:33,323 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-29 securityworker stdout | 2025-09-26 08:37:33,323 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-29 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:37:33,325 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 32, 27, 341464), 1, 29]) securityworker stdout | 2025-09-26 08:37:33,329 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-29 by worker securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-29 by worker securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-29 securityworker stdout | 2025-09-26 08:37:33,329 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-29 securityworker stdout | 2025-09-26 08:37:33,329 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:37:33,329 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 29 securityworker stdout | 2025-09-26 08:37:33,329 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:33,329 [89] [DEBUG] [util.migrate.allocator] Total range: 29-1 securityworker stdout | 2025-09-26 08:37:33,329 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 29 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] Total range: 29-1 securityworker stderr | 2025-09-26 08:37:33 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:37:33,329 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stdout | 2025-09-26 08:37:33,330 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:37:57 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:37:33,398 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6?uploadId=68d650cdd73ec60008f935d0&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:33,398 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9q87-81pbby-zfd', 'x-amz-id-2': 'mg0l9q87-81pbby-zfd', 'ETag': '"6da000f31dd3a964e9e8eff29ceb8dc6"', 'Date': 'Fri, 26 Sep 2025 08:37:33 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:33,398 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:33,399 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,399 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:33,399 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,399 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9q87-81pbby-zfd', 'HostId': 'mg0l9q87-81pbby-zfd', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9q87-81pbby-zfd', 'x-amz-id-2': 'mg0l9q87-81pbby-zfd', 'etag': '"6da000f31dd3a964e9e8eff29ceb8dc6"', 'date': 'Fri, 26 Sep 2025 08:37:33 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"6da000f31dd3a964e9e8eff29ceb8dc6"'} gunicorn-registry stdout | 2025-09-26 08:37:33,399 [255] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6', 'UploadId': '68d650cdd73ec60008f935d0', 'MultipartUpload': {'Parts': [{'ETag': '"6da000f31dd3a964e9e8eff29ceb8dc6"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:33,399 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,399 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,399 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,399 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,399 [255] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,399 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,399 [255] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,399 [255] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:33,399 [255] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:33,399 [255] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:33,399 [255] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:33,400 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,400 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,400 [255] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,400 [255] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6', 'query_string': {'uploadId': '68d650cdd73ec60008f935d0'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"6da000f31dd3a964e9e8eff29ceb8dc6"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6?uploadId=68d650cdd73ec60008f935d0', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6', 'UploadId': '68d650cdd73ec60008f935d0', 'MultipartUpload': {'Parts': [{'ETag': '"6da000f31dd3a964e9e8eff29ceb8dc6"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:33,400 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,400 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,400 [255] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,400 [255] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,400 [255] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:33,400 [255] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6 gunicorn-registry stdout | uploadId=68d650cdd73ec60008f935d0 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:8e9adf7107719293cf9c0c69b0dfe93d2f4fcce75be287670d77e289c77d1e98 gunicorn-registry stdout | x-amz-date:20250926T083733Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 8e9adf7107719293cf9c0c69b0dfe93d2f4fcce75be287670d77e289c77d1e98 gunicorn-registry stdout | 2025-09-26 08:37:33,400 [255] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083733Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | a5d8f747ee0863747abed562f2a2871ccf9d88b5ad009ff0356ba24d5dacc425 gunicorn-registry stdout | 2025-09-26 08:37:33,400 [255] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6d905388f1759156b20135c541d2fc98dec485aed99a9cc67882e209f5a10c70 gunicorn-registry stdout | 2025-09-26 08:37:33,400 [255] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,401 [255] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:33,401 [255] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:33,418 [255] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6?uploadId=68d650cdd73ec60008f935d0 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:33,418 [255] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qai-9evfa1-xez', 'x-amz-id-2': 'mg0l9qai-9evfa1-xez', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:33 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:33,418 [255] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6"78601cb114865d4629ed8ab44665eb4c-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6?uploadId=68d650cdd73ec60008f935d0' gunicorn-registry stdout | 2025-09-26 08:37:33,419 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,419 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,419 [255] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:33,419 [255] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,419 [255] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9qai-9evfa1-xez', 'HostId': 'mg0l9qai-9evfa1-xez', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qai-9evfa1-xez', 'x-amz-id-2': 'mg0l9qai-9evfa1-xez', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:33 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6?uploadId=68d650cdd73ec60008f935d0', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6', 'ETag': '"78601cb114865d4629ed8ab44665eb4c-1"'} gunicorn-registry stdout | 2025-09-26 08:37:33,419 [255] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:33,420 [255] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:33,420 [255] [DEBUG] [data.registry_model.blobuploader] Uploaded 5717 bytes to blob 82bd8b29-adcf-4aec-bdb7-31061e7cad45 took 0.11646080017089844 seconds gunicorn-registry stdout | 2025-09-26 08:37:33,421 [255] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['82bd8b29-adcf-4aec-bdb7-31061e7cad45', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,425 [255] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '82bd8b29-adcf-4aec-bdb7-31061e7cad45', 5717, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwQHYxI2hlcm1ldGljIjp0cnVlfX19MjgwMX1dXX19LCJodHRwczovL21vYnlwcm9qZWN0Lm9yZy9idWlsZGtpdBUAAAAAAAAAALIAAAAAAABt7hRNdXpYZwjKGho78yrle8ln5MOy3IaJ6WgPnXgwaJRiLg==', 9, '{"chunks": [["uploads/e54800c3-55da-4688-9a96-f9328e2587c6", 0, 5717]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 33, 226542), None, None, 78]) gunicorn-registry stdout | 2025-09-26 08:37:33,430 [255] [DEBUG] [app] Ending request: urn:request:14a69338-1ec5-46eb-94d6-2415d888be7b (/v2/testorg2/alpine/blobs/uploads/82bd8b29-adcf-4aec-bdb7-31061e7cad45) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:14a69338-1ec5-46eb-94d6-2415d888be7b', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/82bd8b29-adcf-4aec-bdb7-31061e7cad45', 'path': '/v2/testorg2/alpine/blobs/uploads/82bd8b29-adcf-4aec-bdb7-31061e7cad45', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:33,430 [255] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:33,430 [255] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:33,430 [255] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:33 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/82bd8b29-adcf-4aec-bdb7-31061e7cad45 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:33 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/82bd8b29-adcf-4aec-bdb7-31061e7cad45 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.163 7494 0.162) gunicorn-registry stdout | 2025-09-26 08:37:33,472 [257] [DEBUG] [app] Starting request: urn:request:65e1d735-6fcd-4efc-b127-48a3db40a6e5 (/v2/testorg2/alpine/blobs/uploads/82bd8b29-adcf-4aec-bdb7-31061e7cad45) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:33,472 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '82bd8b29-adcf-4aec-bdb7-31061e7cad45', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:33,472 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:33,472 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:33,473 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:33,473 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:33,473 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:33,473 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:33,473 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:33,474 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,478 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,482 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,486 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,490 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,493 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,497 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,500 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:33,504 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['82bd8b29-adcf-4aec-bdb7-31061e7cad45', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,508 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:33,508 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:33,508 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object proxycacheblobworker stdout | 2025-09-26 08:37:33,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:37:33,546 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:43.545186+00:00 (in 9.999057 seconds) proxycacheblobworker stdout | 2025-09-26 08:37:33,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:43 GMT)" (scheduled at 2025-09-26 08:37:33.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:37:33,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:37:33,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 37, 33, 546454), True, datetime.datetime(2025, 9, 26, 8, 37, 33, 546454), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:37:33,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:37:33,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:37:33,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:43 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:37:33,613 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} gunicorn-registry stdout | 2025-09-26 08:37:33,642 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:33,642 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2233320e-ce21-4bfb-9fe4-e09de2ae1692', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:33,642 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,642 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,643 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,643 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,643 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,643 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,643 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,643 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,643 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:33,643 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:33,643 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:33,643 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:33,643 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,643 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,643 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,643 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/2233320e-ce21-4bfb-9fe4-e09de2ae1692?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2233320e-ce21-4bfb-9fe4-e09de2ae1692', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2233320e-ce21-4bfb-9fe4-e09de2ae1692?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2233320e-ce21-4bfb-9fe4-e09de2ae1692', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:33,643 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,643 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,644 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,644 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,644 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:33,644 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2233320e-ce21-4bfb-9fe4-e09de2ae1692 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083733Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:33,644 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083733Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | e0f2ec35990c829136b690a82eb6d1c0655b1934749c8f0af077ddbb64f51be5 gunicorn-registry stdout | 2025-09-26 08:37:33,644 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | bead28ab3c6817eb91015cf426b8255df8d1cb3a25dfbd9e42aea67772af09cb gunicorn-registry stdout | 2025-09-26 08:37:33,644 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,644 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:33,644 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:33,650 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2233320e-ce21-4bfb-9fe4-e09de2ae1692?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:33,650 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qha-dgh5xc-18s3', 'x-amz-id-2': 'mg0l9qha-dgh5xc-18s3', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:33 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:33,650 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/2233320e-ce21-4bfb-9fe4-e09de2ae169268d650cdd73ec60008f935df' gunicorn-registry stdout | 2025-09-26 08:37:33,650 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,650 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:33,650 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,651 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9qha-dgh5xc-18s3', 'HostId': 'mg0l9qha-dgh5xc-18s3', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qha-dgh5xc-18s3', 'x-amz-id-2': 'mg0l9qha-dgh5xc-18s3', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:33 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2233320e-ce21-4bfb-9fe4-e09de2ae1692', 'UploadId': '68d650cdd73ec60008f935df'} gunicorn-registry stdout | 2025-09-26 08:37:33,651 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:33,651 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2233320e-ce21-4bfb-9fe4-e09de2ae1692', 'UploadId': '68d650cdd73ec60008f935df'} gunicorn-registry stdout | 2025-09-26 08:37:33,651 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,651 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,651 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,651 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,651 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,651 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,652 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:33,652 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:33,652 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:33,652 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:33,652 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,652 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,652 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,652 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/2233320e-ce21-4bfb-9fe4-e09de2ae1692', 'query_string': {'uploadId': '68d650cdd73ec60008f935df'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2233320e-ce21-4bfb-9fe4-e09de2ae1692', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2233320e-ce21-4bfb-9fe4-e09de2ae1692?uploadId=68d650cdd73ec60008f935df', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/2233320e-ce21-4bfb-9fe4-e09de2ae1692', 'UploadId': '68d650cdd73ec60008f935df'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:33,652 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,652 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,652 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,652 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,652 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:33,652 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2233320e-ce21-4bfb-9fe4-e09de2ae1692 gunicorn-registry stdout | uploadId=68d650cdd73ec60008f935df gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083733Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:33,652 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083733Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | dcfe881387f4200d9a5eb331cd0acbf0f07688d65ac19703294efb436391390f gunicorn-registry stdout | 2025-09-26 08:37:33,653 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 82a9c2c0ebb3b81c0336305bf2d33117ca4398d3d16224f93622d6c32b610c87 gunicorn-registry stdout | 2025-09-26 08:37:33,653 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,653 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:33,653 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:33,658 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/2233320e-ce21-4bfb-9fe4-e09de2ae1692?uploadId=68d650cdd73ec60008f935df HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:33,658 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qhi-dky6n6-o23', 'x-amz-id-2': 'mg0l9qhi-dky6n6-o23', 'Date': 'Fri, 26 Sep 2025 08:37:33 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:33,659 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:33,659 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,659 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:33,659 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,659 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9qhi-dky6n6-o23', 'HostId': 'mg0l9qhi-dky6n6-o23', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qhi-dky6n6-o23', 'x-amz-id-2': 'mg0l9qhi-dky6n6-o23', 'date': 'Fri, 26 Sep 2025 08:37:33 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:33,659 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 82bd8b29-adcf-4aec-bdb7-31061e7cad45 took 0.15120220184326172 seconds gunicorn-registry stdout | 2025-09-26 08:37:33,659 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['82bd8b29-adcf-4aec-bdb7-31061e7cad45', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,664 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '82bd8b29-adcf-4aec-bdb7-31061e7cad45', 5717, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwQHYxI2hlcm1ldGljIjp0cnVlfX19MjgwMX1dXX19LCJodHRwczovL21vYnlwcm9qZWN0Lm9yZy9idWlsZGtpdBUAAAAAAAAAALIAAAAAAABt7hRNdXpYZwjKGho78yrle8ln5MOy3IaJ6WgPnXgwaJRiLg==', 9, '{"chunks": [["uploads/e54800c3-55da-4688-9a96-f9328e2587c6", 0, 5717]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 33, 226542), None, None, 78]) gunicorn-registry stdout | 2025-09-26 08:37:33,669 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:33,669 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:33,669 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:33,671 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:33,671 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/3e/3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5'} gunicorn-registry stdout | 2025-09-26 08:37:33,671 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,671 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,671 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,671 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,671 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,671 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,671 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,671 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:33,671 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:33,671 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:33,671 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:33,672 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,672 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,672 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,672 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/3e/3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/3e/3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/3e/3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/3e/3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:33,672 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,672 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,672 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,672 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,672 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:33,672 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/3e/3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083733Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:33,672 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083733Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | eed5bb9f3d8961aa8a903b95e435a4137dec5a48f00e102e32c35e0452c007d1 gunicorn-registry stdout | 2025-09-26 08:37:33,672 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 9e36ca3bdc93dac497736c8df219b0c67d7850a84e83db90b51890a85c72635b gunicorn-registry stdout | 2025-09-26 08:37:33,672 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,672 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:33,673 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:33,677 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/3e/3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:33,677 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qi1-dwqxvs-15vk', 'x-amz-id-2': 'mg0l9qi1-dwqxvs-15vk', 'Content-Type': 'application/xml', 'Content-Length': '339', 'Date': 'Fri, 26 Sep 2025 08:37:33 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:33,677 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:33,677 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,677 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:33,678 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,678 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:33,678 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:33,678 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/3e/3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5 gunicorn-registry stdout | 2025-09-26 08:37:33,678 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:33,678 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:33,678 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:33,678 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:33,678 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,679 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,679 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,679 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,679 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,679 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,679 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,679 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:33,679 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:33,679 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:33,679 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:33,679 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,679 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,679 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,679 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:33,679 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,679 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,679 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,679 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,679 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,680 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:33,680 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083733Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:33,680 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083733Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 85e886c1d98c46fddf343f60d0136234ad57274d207541ba14e7db7edac5ef71 gunicorn-registry stdout | 2025-09-26 08:37:33,680 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | aabca826c64dd400d4f9e77ccd22fc36d208daf1be132dd1f934f4cbd1887292 gunicorn-registry stdout | 2025-09-26 08:37:33,680 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,680 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,680 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:33,680 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:33,683 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:33,684 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qi9-e163h6-h2e', 'x-amz-id-2': 'mg0l9qi9-e163h6-h2e', 'ETag': '"78601cb114865d4629ed8ab44665eb4c-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:33 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '5717', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:33 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:33,684 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:33,684 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,684 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:33,684 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,684 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/3e/3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:33,684 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:33,685 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/3e/3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:33,685 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/3e/3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:33,685 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/3e/3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/3e/3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 'extra_args': {}, 'callbacks': [], 'size': 5717} gunicorn-registry stdout | 2025-09-26 08:37:33,685 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,685 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,685 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,685 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,685 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,685 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,685 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,685 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,685 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,685 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,685 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:33,685 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:33,685 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:33,685 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:33,685 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,686 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,686 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,686 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/3e/3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/3e/3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/3e/3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/3e/3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:33,686 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,686 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,686 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,686 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,686 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,687 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:33,687 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/3e/3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e54800c3-55da-4688-9a96-f9328e2587c6 gunicorn-registry stdout | x-amz-date:20250926T083733Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:33,687 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083733Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 3e1acd69a6b311fa361d5643eabd325436dabf26f402cc02e9baa7f1bbd2eccc gunicorn-registry stdout | 2025-09-26 08:37:33,687 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 59125eca7f31b4649a103e3e9d1f3f27ddb4f8d8232f9fe7f9f69007720617bc gunicorn-registry stdout | 2025-09-26 08:37:33,687 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,687 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,687 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:33,687 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:33,687 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:33,711 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/3e/3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:33,711 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qig-e5dprf-g6a', 'x-amz-id-2': 'mg0l9qig-e5dprf-g6a', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:33 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:33,712 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:33.000Z"78601cb114865d4629ed8ab44665eb4c-1"' gunicorn-registry stdout | 2025-09-26 08:37:33,712 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,712 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:33,712 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:33,712 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:33,712 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:33,713 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 82bd8b29-adcf-4aec-bdb7-31061e7cad45 with digest sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5 took 0.035082101821899414 seconds gunicorn-registry stdout | 2025-09-26 08:37:33,713 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['82bd8b29-adcf-4aec-bdb7-31061e7cad45', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,716 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,718 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['d53e5cce-1115-4198-bef1-81b19365f555', 5717, None, True, True, 'sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5']) gunicorn-registry stdout | 2025-09-26 08:37:33,720 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [80, 9]) gunicorn-registry stdout | 2025-09-26 08:37:33,721 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,723 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 80, datetime.datetime(2025, 9, 26, 8, 37, 33, 722906), datetime.datetime(2025, 9, 26, 9, 37, 33, 722889)]) gunicorn-registry stdout | 2025-09-26 08:37:33,724 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [78]) gunicorn-registry stdout | 2025-09-26 08:37:33,728 [257] [DEBUG] [app] Ending request: urn:request:65e1d735-6fcd-4efc-b127-48a3db40a6e5 (/v2/testorg2/alpine/blobs/uploads/82bd8b29-adcf-4aec-bdb7-31061e7cad45) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:65e1d735-6fcd-4efc-b127-48a3db40a6e5', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/82bd8b29-adcf-4aec-bdb7-31061e7cad45?digest=sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 'path': '/v2/testorg2/alpine/blobs/uploads/82bd8b29-adcf-4aec-bdb7-31061e7cad45', 'parameters': {'digest': 'sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:33,729 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:33,729 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:33,729 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:33 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/82bd8b29-adcf-4aec-bdb7-31061e7cad45?digest=sha256%3A3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:33 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/82bd8b29-adcf-4aec-bdb7-31061e7cad45?digest=sha256%3A3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.258 1853 0.258) gunicorn-registry stdout | 2025-09-26 08:37:33,847 [250] [DEBUG] [app] Starting request: urn:request:aed2317f-b20d-46f9-927f-ed1522f3a132 (/v2/testorg2/alpine/blobs/sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:33,848 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:33,848 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:33,848 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:33,849 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:33,849 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:33,849 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:33,849 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:33,849 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:33,850 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,853 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,857 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:33,857 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890_2 gunicorn-registry stdout | 2025-09-26 08:37:33,857 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:33,858 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,862 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,866 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,869 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,873 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,876 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890_2: None gunicorn-registry stdout | 2025-09-26 08:37:33,876 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890_2: None gunicorn-registry stdout | 2025-09-26 08:37:33,876 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:33,876 [250] [DEBUG] [app] Ending request: urn:request:aed2317f-b20d-46f9-927f-ed1522f3a132 (/v2/testorg2/alpine/blobs/sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:aed2317f-b20d-46f9-927f-ed1522f3a132', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'path': '/v2/testorg2/alpine/blobs/sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:33,877 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:33,877 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:33,877 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:33 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:33 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.030 1718 0.030) gunicorn-registry stdout | 2025-09-26 08:37:33,918 [250] [DEBUG] [app] Starting request: urn:request:e145a033-904e-4a35-b867-f0a94344d6df (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:33,919 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:33,919 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:33,919 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:33,920 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:33,920 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:33,920 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:33,920 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:33,920 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:33,921 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,924 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,927 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,931 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,934 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,938 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,941 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:33,945 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:33,948 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, 'ba51a0b8-dfa6-499d-8fbc-371a798ac693', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 33, 948061)]) gunicorn-registry stdout | 2025-09-26 08:37:33,953 [250] [DEBUG] [app] Ending request: urn:request:e145a033-904e-4a35-b867-f0a94344d6df (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:e145a033-904e-4a35-b867-f0a94344d6df', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:33,953 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:33,953 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:33 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.035 1697 0.036) gunicorn-registry stdout | 2025-09-26 08:37:33,954 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:33 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:37:33,994 [250] [DEBUG] [app] Starting request: urn:request:1c56672d-41d8-44bf-afcd-f96c1f8ae3b7 (/v2/testorg2/alpine/blobs/uploads/ba51a0b8-dfa6-499d-8fbc-371a798ac693) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:33,994 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'ba51a0b8-dfa6-499d-8fbc-371a798ac693', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:33,995 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:33,995 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:33,995 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:33,995 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:33,996 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:33,996 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:33,996 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:33,996 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,000 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,004 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,008 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,012 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,016 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,019 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,023 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:34,027 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['ba51a0b8-dfa6-499d-8fbc-371a798ac693', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,030 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:34,030 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:34,030 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:34,033 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:34,033 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:34,033 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,034 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,034 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,034 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,034 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,034 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,034 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,034 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,034 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:34,034 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:34,034 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:34,034 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:34,034 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,034 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,034 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,034 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:34,034 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,034 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,034 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,034 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,035 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:34,035 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083734Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:34,035 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083734Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 2c06a92437e847ec9d3556c3a271a106913d8146c8d1f8f31fab55bbe4b4eda5 gunicorn-registry stdout | 2025-09-26 08:37:34,035 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b352b64882605eae51207a27dca30b864eb408ce9796c1d61f82086ba4fe5688 gunicorn-registry stdout | 2025-09-26 08:37:34,035 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,035 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:34,035 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:34,043 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:34,043 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qs6-3ebm9c-goo', 'x-amz-id-2': 'mg0l9qs6-3ebm9c-goo', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:34 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:34,043 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad1368d650ced73ec60008f935e2' gunicorn-registry stdout | 2025-09-26 08:37:34,043 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,043 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:34,043 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,043 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9qs6-3ebm9c-goo', 'HostId': 'mg0l9qs6-3ebm9c-goo', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qs6-3ebm9c-goo', 'x-amz-id-2': 'mg0l9qs6-3ebm9c-goo', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:34 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13', 'UploadId': '68d650ced73ec60008f935e2'} gunicorn-registry stdout | 2025-09-26 08:37:34,043 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:34,044 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:34,044 [250] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:34,044 [250] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13', 'UploadId': '68d650ced73ec60008f935e2', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50db25670>, 'ContentLength': 241} gunicorn-registry stdout | 2025-09-26 08:37:34,044 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,044 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,044 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,044 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,044 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,044 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,044 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,045 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,045 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:34,045 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:34,045 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:34,045 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:34,045 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,045 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,045 [250] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:34,045 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,045 [250] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,045 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13', 'query_string': {'uploadId': '68d650ced73ec60008f935e2', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '241', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': '+7VDbgCBUMB+YLr6kDycPQ==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50db25670>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13?uploadId=68d650ced73ec60008f935e2&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13', 'UploadId': '68d650ced73ec60008f935e2', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50db25670>, 'ContentLength': 241}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:34,045 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,046 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,046 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,046 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,046 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:34,046 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13 gunicorn-registry stdout | partNumber=1&uploadId=68d650ced73ec60008f935e2 gunicorn-registry stdout | content-length:241 gunicorn-registry stdout | content-md5:+7VDbgCBUMB+YLr6kDycPQ== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083734Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:34,046 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083734Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 93938a0f375477d87905502f709d398455b1526ded87ba7c4095f890dc9d52a2 gunicorn-registry stdout | 2025-09-26 08:37:34,046 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | e59191bd75cfb1fa7d3456f4367b45e91e4696563c62b4b803bfcd8302982890 gunicorn-registry stdout | 2025-09-26 08:37:34,046 [250] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,046 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:34,046 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:34,047 [250] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:34,047 [250] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:34,108 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13?uploadId=68d650ced73ec60008f935e2&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:34,109 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qsf-3jta9l-o7z', 'x-amz-id-2': 'mg0l9qsf-3jta9l-o7z', 'ETag': '"fbb5436e008150c07e60bafa903c9c3d"', 'Date': 'Fri, 26 Sep 2025 08:37:34 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:34,109 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:34,109 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,109 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:34,109 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,109 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9qsf-3jta9l-o7z', 'HostId': 'mg0l9qsf-3jta9l-o7z', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qsf-3jta9l-o7z', 'x-amz-id-2': 'mg0l9qsf-3jta9l-o7z', 'etag': '"fbb5436e008150c07e60bafa903c9c3d"', 'date': 'Fri, 26 Sep 2025 08:37:34 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"fbb5436e008150c07e60bafa903c9c3d"'} gunicorn-registry stdout | 2025-09-26 08:37:34,109 [250] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13', 'UploadId': '68d650ced73ec60008f935e2', 'MultipartUpload': {'Parts': [{'ETag': '"fbb5436e008150c07e60bafa903c9c3d"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:34,109 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,109 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,109 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,109 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,109 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,109 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,109 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,109 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:34,110 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:34,110 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:34,110 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:34,110 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,110 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,110 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,110 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13', 'query_string': {'uploadId': '68d650ced73ec60008f935e2'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"fbb5436e008150c07e60bafa903c9c3d"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13?uploadId=68d650ced73ec60008f935e2', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13', 'UploadId': '68d650ced73ec60008f935e2', 'MultipartUpload': {'Parts': [{'ETag': '"fbb5436e008150c07e60bafa903c9c3d"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:34,110 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,110 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,110 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,110 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,111 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:34,111 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13 gunicorn-registry stdout | uploadId=68d650ced73ec60008f935e2 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:41fe52d5f3bcb4ea152df69908aba5c11d1166d998a3908ecf0291fe0faf0869 gunicorn-registry stdout | x-amz-date:20250926T083734Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 41fe52d5f3bcb4ea152df69908aba5c11d1166d998a3908ecf0291fe0faf0869 gunicorn-registry stdout | 2025-09-26 08:37:34,111 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083734Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 491cb4946e23ad85ff6800a9d7ccc56bba273c7cecfba459e7f6b2a48948ac78 gunicorn-registry stdout | 2025-09-26 08:37:34,111 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | f87b6f3f4dceda4063c4e183950d1c9d7fc6807cd6b30d9aab121498d75bc688 gunicorn-registry stdout | 2025-09-26 08:37:34,111 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,111 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:34,111 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:34,126 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13?uploadId=68d650ced73ec60008f935e2 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:34,126 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qu8-4mm1z7-x95', 'x-amz-id-2': 'mg0l9qu8-4mm1z7-x95', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:34 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:34,126 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13"ea6430a6b1a5037bd220491587f4f5f4-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13?uploadId=68d650ced73ec60008f935e2' gunicorn-registry stdout | 2025-09-26 08:37:34,127 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,127 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,127 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:34,127 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,127 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9qu8-4mm1z7-x95', 'HostId': 'mg0l9qu8-4mm1z7-x95', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qu8-4mm1z7-x95', 'x-amz-id-2': 'mg0l9qu8-4mm1z7-x95', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:34 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13?uploadId=68d650ced73ec60008f935e2', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13', 'ETag': '"ea6430a6b1a5037bd220491587f4f5f4-1"'} gunicorn-registry stdout | 2025-09-26 08:37:34,127 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:34,128 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:34,128 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 241 bytes to blob ba51a0b8-dfa6-499d-8fbc-371a798ac693 took 0.09759926795959473 seconds gunicorn-registry stdout | 2025-09-26 08:37:34,129 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['ba51a0b8-dfa6-499d-8fbc-371a798ac693', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,133 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, 'ba51a0b8-dfa6-499d-8fbc-371a798ac693', 241, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwMTZhZDhkYWJiZTliMWQ2Njk3YTk1NWVkZGU3MGVkZGMyZjExMTIzMzQ0YWY1Il19fTM4YTMzNjA1NWQ3NmFlMzEAAAAAAAAAAAYAAAAAAAC7sS+BBP8/I4pLFXQLWUmX7LxKcan4ywXht9PJuXXLbZRiLg==', 9, '{"chunks": [["uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13", 0, 241]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 33, 948061), None, None, 80]) gunicorn-registry stdout | 2025-09-26 08:37:34,137 [250] [DEBUG] [app] Ending request: urn:request:1c56672d-41d8-44bf-afcd-f96c1f8ae3b7 (/v2/testorg2/alpine/blobs/uploads/ba51a0b8-dfa6-499d-8fbc-371a798ac693) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:1c56672d-41d8-44bf-afcd-f96c1f8ae3b7', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/ba51a0b8-dfa6-499d-8fbc-371a798ac693', 'path': '/v2/testorg2/alpine/blobs/uploads/ba51a0b8-dfa6-499d-8fbc-371a798ac693', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:34,138 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:34,138 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:34,138 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:34 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/ba51a0b8-dfa6-499d-8fbc-371a798ac693 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:34 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/ba51a0b8-dfa6-499d-8fbc-371a798ac693 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.145 2017 0.144) gunicorn-registry stdout | 2025-09-26 08:37:34,179 [250] [DEBUG] [app] Starting request: urn:request:9cb7e053-53aa-4479-b808-c02d4cc2ab97 (/v2/testorg2/alpine/blobs/uploads/ba51a0b8-dfa6-499d-8fbc-371a798ac693) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:34,179 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'ba51a0b8-dfa6-499d-8fbc-371a798ac693', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:34,179 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:34,179 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:34,180 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:34,180 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:34,181 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:34,181 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:34,181 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:34,182 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,186 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,189 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,192 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,196 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,199 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,203 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,206 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:34,209 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['ba51a0b8-dfa6-499d-8fbc-371a798ac693', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,213 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:34,213 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:34,213 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:34,215 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:34,215 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a3edb6d0-5136-4032-8404-eedded7788b4', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:34,215 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,216 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,216 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,216 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,216 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,216 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,216 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,216 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,217 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:34,217 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:34,217 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:34,217 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:34,217 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,217 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,217 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,218 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/a3edb6d0-5136-4032-8404-eedded7788b4?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a3edb6d0-5136-4032-8404-eedded7788b4', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a3edb6d0-5136-4032-8404-eedded7788b4?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a3edb6d0-5136-4032-8404-eedded7788b4', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:34,218 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,218 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,218 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,218 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,219 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:34,219 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a3edb6d0-5136-4032-8404-eedded7788b4 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083734Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:34,219 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083734Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 637e5f526c7a74e4a67b54d413d0814d7d2554e7cfb10ed337b0d27185ca663b gunicorn-registry stdout | 2025-09-26 08:37:34,219 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | fd64d8483ed046bc27c2fcb8651c8f742c485eb59cb1ee95367a395a5382aa52 gunicorn-registry stdout | 2025-09-26 08:37:34,219 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,219 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:34,219 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:34,226 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a3edb6d0-5136-4032-8404-eedded7788b4?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:34,227 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qx9-6fk96h-cn1', 'x-amz-id-2': 'mg0l9qx9-6fk96h-cn1', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:34 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:34,227 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/a3edb6d0-5136-4032-8404-eedded7788b468d650ced73ec60008f935e8' gunicorn-registry stdout | 2025-09-26 08:37:34,227 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,227 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:34,227 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,227 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9qx9-6fk96h-cn1', 'HostId': 'mg0l9qx9-6fk96h-cn1', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qx9-6fk96h-cn1', 'x-amz-id-2': 'mg0l9qx9-6fk96h-cn1', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:34 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a3edb6d0-5136-4032-8404-eedded7788b4', 'UploadId': '68d650ced73ec60008f935e8'} gunicorn-registry stdout | 2025-09-26 08:37:34,228 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:34,228 [250] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a3edb6d0-5136-4032-8404-eedded7788b4', 'UploadId': '68d650ced73ec60008f935e8'} gunicorn-registry stdout | 2025-09-26 08:37:34,228 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,228 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,229 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,229 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,229 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,229 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,229 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:34,229 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:34,229 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:34,229 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:34,229 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,229 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,229 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,230 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/a3edb6d0-5136-4032-8404-eedded7788b4', 'query_string': {'uploadId': '68d650ced73ec60008f935e8'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a3edb6d0-5136-4032-8404-eedded7788b4', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a3edb6d0-5136-4032-8404-eedded7788b4?uploadId=68d650ced73ec60008f935e8', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/a3edb6d0-5136-4032-8404-eedded7788b4', 'UploadId': '68d650ced73ec60008f935e8'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:34,230 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,230 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,230 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,230 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,230 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:34,230 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a3edb6d0-5136-4032-8404-eedded7788b4 gunicorn-registry stdout | uploadId=68d650ced73ec60008f935e8 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083734Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:34,230 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083734Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 04e160ae86418643c7b8130b1fcbe32598c61ffd89d32d5fcbb92e0beedd2fee gunicorn-registry stdout | 2025-09-26 08:37:34,230 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | e0000dcadbadd4137c01407741d6465b05d72ef01ca7cc8bfeb027b8e4e617f9 gunicorn-registry stdout | 2025-09-26 08:37:34,231 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,231 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:34,231 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:34,237 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/a3edb6d0-5136-4032-8404-eedded7788b4?uploadId=68d650ced73ec60008f935e8 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:34,238 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qxk-6lwx5y-hv2', 'x-amz-id-2': 'mg0l9qxk-6lwx5y-hv2', 'Date': 'Fri, 26 Sep 2025 08:37:34 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:34,238 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:34,238 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,238 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:34,238 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,238 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9qxk-6lwx5y-hv2', 'HostId': 'mg0l9qxk-6lwx5y-hv2', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qxk-6lwx5y-hv2', 'x-amz-id-2': 'mg0l9qxk-6lwx5y-hv2', 'date': 'Fri, 26 Sep 2025 08:37:34 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:34,238 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob ba51a0b8-dfa6-499d-8fbc-371a798ac693 took 0.025010347366333008 seconds gunicorn-registry stdout | 2025-09-26 08:37:34,240 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['ba51a0b8-dfa6-499d-8fbc-371a798ac693', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,243 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, 'ba51a0b8-dfa6-499d-8fbc-371a798ac693', 241, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwMTZhZDhkYWJiZTliMWQ2Njk3YTk1NWVkZGU3MGVkZGMyZjExMTIzMzQ0YWY1Il19fTM4YTMzNjA1NWQ3NmFlMzEAAAAAAAAAAAYAAAAAAAC7sS+BBP8/I4pLFXQLWUmX7LxKcan4ywXht9PJuXXLbZRiLg==', 9, '{"chunks": [["uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13", 0, 241]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 33, 948061), None, None, 80]) gunicorn-registry stdout | 2025-09-26 08:37:34,248 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:34,248 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:34,248 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:34,250 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:34,250 [250] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890'} gunicorn-registry stdout | 2025-09-26 08:37:34,250 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,250 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,250 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,250 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,250 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,251 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,251 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,251 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:34,251 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:34,251 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:34,251 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:34,251 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,252 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,252 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,252 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:34,252 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,252 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,252 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,252 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,252 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:34,252 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083734Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:34,253 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083734Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 9c00868e7d241e21e37b149e00fc7ee5889ff8424dce265180511249f74d0781 gunicorn-registry stdout | 2025-09-26 08:37:34,253 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ca086191b80ccc1c5b8396ae56bfc7c757480adf7e24136fa9c054bb511d2dd8 gunicorn-registry stdout | 2025-09-26 08:37:34,253 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,253 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:34,253 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:34,258 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:34,258 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qy7-6zf3oq-nr1', 'x-amz-id-2': 'mg0l9qy7-6zf3oq-nr1', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:34 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:34,258 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:34,258 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,259 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:34,259 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,259 [250] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:34,259 [250] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:34,259 [250] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890 gunicorn-registry stdout | 2025-09-26 08:37:34,259 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:34,260 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:34,260 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:34,260 [250] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:34,260 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,260 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,260 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,260 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,260 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,260 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,260 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,261 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:34,261 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:34,261 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:34,261 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:34,261 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,261 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,261 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,261 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:34,261 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,261 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,261 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,261 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,261 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,262 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:34,262 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083734Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:34,262 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083734Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ead61f8c185768bfa6ca7a16c021df0da537723a5d2692efb47c8b1cb6c71852 gunicorn-registry stdout | 2025-09-26 08:37:34,262 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 73587100da09f4dd176eedde1a1044f9301aed11126ac8dfa8c02455ce1f24dc gunicorn-registry stdout | 2025-09-26 08:37:34,262 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,262 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,262 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:34,263 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:34,266 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:34,267 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qyg-74p5ru-101s', 'x-amz-id-2': 'mg0l9qyg-74p5ru-101s', 'ETag': '"ea6430a6b1a5037bd220491587f4f5f4-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:34 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:34 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:34,267 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:34,267 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,267 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:34,267 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,267 [250] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:34,267 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:34,267 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'extra_args': {}, 'callbacks': [], 'size': 241} gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:34,268 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,269 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,269 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,269 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,269 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,269 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:34,269 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fc55bdb0-7b7f-47c5-93c7-4caf0878ad13 gunicorn-registry stdout | x-amz-date:20250926T083734Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:34,269 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083734Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 9bab50b379f58baaf5a28ff32a60164b56354d1caffcfd20f6e5fc676671a09e gunicorn-registry stdout | 2025-09-26 08:37:34,269 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | efe927419e2ebd761318658091f3819b3487fa1c7a9a72149fd29fedc3b2d7be gunicorn-registry stdout | 2025-09-26 08:37:34,269 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,269 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,269 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:34,269 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:34,270 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:34,294 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:34,294 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9qyn-78zhbn-4ds', 'x-amz-id-2': 'mg0l9qyn-78zhbn-4ds', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:34 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:34,294 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:34.000Z"ea6430a6b1a5037bd220491587f4f5f4-1"' gunicorn-registry stdout | 2025-09-26 08:37:34,295 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,295 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,295 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:34,295 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,295 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:34,295 [250] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob ba51a0b8-dfa6-499d-8fbc-371a798ac693 with digest sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890 took 0.03676891326904297 seconds gunicorn-registry stdout | 2025-09-26 08:37:34,296 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['ba51a0b8-dfa6-499d-8fbc-371a798ac693', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,299 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,301 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['4fd5679a-d624-412b-85ff-82ea30a0e955', 241, None, True, True, 'sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890']) gunicorn-registry stdout | 2025-09-26 08:37:34,303 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [81, 9]) gunicorn-registry stdout | 2025-09-26 08:37:34,305 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,306 [250] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 81, datetime.datetime(2025, 9, 26, 8, 37, 34, 306455), datetime.datetime(2025, 9, 26, 9, 37, 34, 306438)]) gunicorn-registry stdout | 2025-09-26 08:37:34,308 [250] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [80]) gunicorn-registry stdout | 2025-09-26 08:37:34,312 [250] [DEBUG] [app] Ending request: urn:request:9cb7e053-53aa-4479-b808-c02d4cc2ab97 (/v2/testorg2/alpine/blobs/uploads/ba51a0b8-dfa6-499d-8fbc-371a798ac693) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:9cb7e053-53aa-4479-b808-c02d4cc2ab97', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/ba51a0b8-dfa6-499d-8fbc-371a798ac693?digest=sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'path': '/v2/testorg2/alpine/blobs/uploads/ba51a0b8-dfa6-499d-8fbc-371a798ac693', 'parameters': {'digest': 'sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:34,312 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:34,312 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:34,312 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:34 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/ba51a0b8-dfa6-499d-8fbc-371a798ac693?digest=sha256%3A37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:34 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/ba51a0b8-dfa6-499d-8fbc-371a798ac693?digest=sha256%3A37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.134 1853 0.134) gunicorn-registry stdout | 2025-09-26 08:37:34,368 [250] [DEBUG] [app] Starting request: urn:request:8bb295ce-cb13-4632-9264-341a3b6ad401 (/v2/testorg2/alpine/manifests/sha256:83a4745a9c165dd4da61a49ddb76550909859bf6ed62d41974e31559eec7fb8e) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:34,368 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:83a4745a9c165dd4da61a49ddb76550909859bf6ed62d41974e31559eec7fb8e', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:34,368 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:34,368 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:34,369 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:34,369 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:34,369 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:34,369 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:34,369 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:34,371 [250] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:34,371 [250] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:34,371 [250] [DEBUG] [data.cache.impl] Found result in cache for key repository_lookup_testorg2_alpine: {'id': 3, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': 0, 'namespace_user': {'stripe_id': None}} gunicorn-registry stdout | 2025-09-26 08:37:34,372 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:83a4745a9c165dd4da61a49ddb76550909859bf6ed62d41974e31559eec7fb8e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,377 [250] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL ((SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1") UNION ALL (SELECT * FROM (SELECT "t5"."id", "t5"."content_checksum", "t5"."image_size", "t5"."uuid", "t5"."cas_path", "t5"."uncompressed_size" FROM "imagestorage" AS "t5" INNER JOIN "uploadedblob" AS "t6" ON ("t6"."blob_id" = "t5"."id") WHERE (("t6"."repository_id" = %s) AND ("t5"."content_checksum" = %s)) LIMIT %s) AS "q2"))', [3, 'sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 1, 3, 'sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 1, 3, 'sha256:d1e7d10cb51f8fe3bc6baa0c42ae8d782c6f053efe98a3d70dafd2ca52f1f021', 1]) gunicorn-registry stdout | 2025-09-26 08:37:34,381 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:83a4745a9c165dd4da61a49ddb76550909859bf6ed62d41974e31559eec7fb8e', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,385 [250] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [3, 'sha256:83a4745a9c165dd4da61a49ddb76550909859bf6ed62d41974e31559eec7fb8e', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890",\n "size": 241\n },\n "layers": [\n {\n "mediaType": "application/vnd.in-toto+json",\n "digest": "sha256:d1e7d10cb51f8fe3bc6baa0c42ae8d782c6f053efe98a3d70dafd2ca52f1f021",\n "size": 79035,\n "annotations": {\n "in-toto.io/predicate-type": "https://spdx.dev/Document"\n }\n },\n {\n "mediaType": "application/vnd.in-toto+json",\n "digest": "sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5",\n "size": 5717,\n "annotations": {\n "in-toto.io/predicate-type": "https://slsa.dev/provenance/v0.2"\n }\n }\n ]\n}', 'application/vnd.oci.image.config.v1+json', 84752, None, True, None, True]) gunicorn-registry stdout | 2025-09-26 08:37:34,388 [250] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [3, 32, 80, 3, 32, 81, 3, 32, 79]) gunicorn-registry stdout | 2025-09-26 08:37:34,390 [250] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,391 [250] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [4, 1]) gunicorn-registry stdout | 2025-09-26 08:37:34,393 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 81, 32, 1]) gunicorn-registry stdout | 2025-09-26 08:37:34,395 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 80, 32, 1]) gunicorn-registry stdout | 2025-09-26 08:37:34,396 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 79, 32, 1]) gunicorn-registry stdout | 2025-09-26 08:37:34,398 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,399 [250] [INFO] [data.model.quota] updating namespace size for manifest 32 in namespace 4, QuotaOperation.ADD 84993 gunicorn-registry stdout | 2025-09-26 08:37:34,399 [250] [DEBUG] [peewee] ('UPDATE "quotanamespacesize" SET "size_bytes" = ("quotanamespacesize"."size_bytes" + %s) WHERE ("quotanamespacesize"."namespace_user_id" = %s)', [84993, 4]) gunicorn-registry stdout | 2025-09-26 08:37:34,401 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,402 [250] [INFO] [data.model.quota] updating repository size for manifest 32 in repository 3, QuotaOperation.ADD 84993 gunicorn-registry stdout | 2025-09-26 08:37:34,403 [250] [DEBUG] [peewee] ('UPDATE "quotarepositorysize" SET "size_bytes" = ("quotarepositorysize"."size_bytes" + %s) WHERE ("quotarepositorysize"."repository_id" = %s)', [84993, 3]) gunicorn-registry stdout | 2025-09-26 08:37:34,404 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [32, None, 1758879454404, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,406 [250] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-f231a304-306b-40b8-99ff-e3a2b589886b', 3, 32, 1758875854404, 1758879454404, False, True, False, 1]) gunicorn-registry stdout | 2025-09-26 08:37:34,410 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,414 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['4fd5679a-d624-412b-85ff-82ea30a0e955']) gunicorn-registry stdout | 2025-09-26 08:37:34,417 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:34,418 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:34,418 [250] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890'} gunicorn-registry stdout | 2025-09-26 08:37:34,418 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,419 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,419 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,419 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,419 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,419 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,419 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,419 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:34,419 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:34,419 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:34,419 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:34,419 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,419 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,419 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,419 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:34,419 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,419 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,419 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,419 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,420 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:34,420 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083734Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:34,420 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083734Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | d5ef461d7d185158c9bb15ba0a05ad0f24b552837c5559e4004050ab774ec8df gunicorn-registry stdout | 2025-09-26 08:37:34,420 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 073ad4cfa7741de9eb3b5f96af6e5a451960e55d761b49be7e4d2e53fa0bce38 gunicorn-registry stdout | 2025-09-26 08:37:34,420 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,420 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:34,421 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gcworker stdout | 2025-09-26 08:37:34,439 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:37:34,439 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:51.444401+00:00 (in 17.004649 seconds) gcworker stdout | 2025-09-26 08:37:34,439 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:04 GMT)" (scheduled at 2025-09-26 08:37:34.439268+00:00) gcworker stdout | 2025-09-26 08:37:34,440 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:37:34,440 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:04 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:37:34,441 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:37:34,441 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:36.440077+00:00 (in 1.998131 seconds) notificationworker stdout | 2025-09-26 08:37:34,442 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:34 GMT)" (scheduled at 2025-09-26 08:37:34.441526+00:00) notificationworker stdout | 2025-09-26 08:37:34,442 [68] [DEBUG] [workers.queueworker] Running watchdog. notificationworker stdout | 2025-09-26 08:37:34,442 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:34 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:37:34,482 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890 HTTP/1.1" 200 241 gunicorn-registry stdout | 2025-09-26 08:37:34,482 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9r2u-9qrogv-152v', 'x-amz-id-2': 'mg0l9r2u-9qrogv-152v', 'ETag': '"ea6430a6b1a5037bd220491587f4f5f4-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:34 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:34 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:34,482 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:34,483 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,483 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:34,483 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,484 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9r2u-9qrogv-152v', 'HostId': 'mg0l9r2u-9qrogv-152v', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9r2u-9qrogv-152v', 'x-amz-id-2': 'mg0l9r2u-9qrogv-152v', 'etag': '"ea6430a6b1a5037bd220491587f4f5f4-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:34 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:34 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 34, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"ea6430a6b1a5037bd220491587f4f5f4-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:34,486 [250] [DEBUG] [app] Ending request: urn:request:8bb295ce-cb13-4632-9264-341a3b6ad401 (/v2/testorg2/alpine/manifests/sha256:83a4745a9c165dd4da61a49ddb76550909859bf6ed62d41974e31559eec7fb8e) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:8bb295ce-cb13-4632-9264-341a3b6ad401', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/manifests/sha256:83a4745a9c165dd4da61a49ddb76550909859bf6ed62d41974e31559eec7fb8e', 'path': '/v2/testorg2/alpine/manifests/sha256:83a4745a9c165dd4da61a49ddb76550909859bf6ed62d41974e31559eec7fb8e', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'size': 241}, 'layers': [{'mediaType': 'application/vnd.in-toto+json', 'digest': 'sha256:d1e7d10cb51f8fe3bc6baa0c42ae8d782c6f053efe98a3d70dafd2ca52f1f021', 'size': 79035, 'annotations': {'in-toto.io/predicate-type': 'https://spdx.dev/Document'}}, {'mediaType': 'application/vnd.in-toto+json', 'digest': 'sha256:3e6038a336055d76ae316ad8dabbe9b1d6697a955edde70eddc2f11123344af5', 'size': 5717, 'annotations': {'in-toto.io/predicate-type': 'https://slsa.dev/provenance/v0.2'}}]}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:34,486 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:34,487 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:34,487 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:34 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:83a4745a9c165dd4da61a49ddb76550909859bf6ed62d41974e31559eec7fb8e HTTP/1.1" 201 2 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:34 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:83a4745a9c165dd4da61a49ddb76550909859bf6ed62d41974e31559eec7fb8e HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.121 2661 0.121) gunicorn-registry stdout | 2025-09-26 08:37:34,572 [254] [DEBUG] [app] Starting request: urn:request:ca6a8b26-6c2c-4dcc-b67d-78cb7be98ff2 (/v2/testorg2/alpine/blobs/sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:34,572 [254] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:34,572 [254] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:34,572 [254] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:34,573 [254] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:34,573 [254] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:34,573 [254] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:34,573 [254] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:34,573 [254] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:34,574 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,579 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,582 [254] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:34,582 [254] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361_2 gunicorn-registry stdout | 2025-09-26 08:37:34,582 [254] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:34,583 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,587 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,590 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,594 [254] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,598 [254] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,602 [254] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361_2: None gunicorn-registry stdout | 2025-09-26 08:37:34,602 [254] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361_2: None gunicorn-registry stdout | 2025-09-26 08:37:34,602 [254] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:34,602 [254] [DEBUG] [app] Ending request: urn:request:ca6a8b26-6c2c-4dcc-b67d-78cb7be98ff2 (/v2/testorg2/alpine/blobs/sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:ca6a8b26-6c2c-4dcc-b67d-78cb7be98ff2', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 'path': '/v2/testorg2/alpine/blobs/sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:34,603 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:34,603 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:34,603 [254] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:34 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:34 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.032 1718 0.033) gunicorn-registry stdout | 2025-09-26 08:37:34,718 [250] [DEBUG] [app] Starting request: urn:request:aa93be27-a970-48da-8d03-07e797f8dc08 (/v2/testorg2/alpine/blobs/sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:34,718 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:34,718 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:34,718 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:34,720 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:34,720 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:34,720 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:34,720 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:34,720 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:34,721 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,726 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,729 [250] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:34,729 [250] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361_2 gunicorn-registry stdout | 2025-09-26 08:37:34,730 [250] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:34,731 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) autopruneworker stdout | 2025-09-26 08:37:34,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:37:34,734 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:04.734534+00:00 (in 29.999562 seconds) autopruneworker stdout | 2025-09-26 08:37:34,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:04 GMT)" (scheduled at 2025-09-26 08:37:34.734534+00:00) gunicorn-registry stdout | 2025-09-26 08:37:34,735 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,738 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,742 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 1, 0]) autopruneworker stdout | 2025-09-26 08:37:34,743 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758872254742, None, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,745 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 1, 0]) autopruneworker stdout | 2025-09-26 08:37:34,748 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:37:34,748 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:37:34,748 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:04 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:37:34,749 [250] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361_2: None gunicorn-registry stdout | 2025-09-26 08:37:34,749 [250] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361_2: None gunicorn-registry stdout | 2025-09-26 08:37:34,749 [250] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:34,749 [250] [DEBUG] [app] Ending request: urn:request:aa93be27-a970-48da-8d03-07e797f8dc08 (/v2/testorg2/alpine/blobs/sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:aa93be27-a970-48da-8d03-07e797f8dc08', 'remote_addr': '10.129.4.11', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 'path': '/v2/testorg2/alpine/blobs/sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:34,750 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:34,750 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:34,750 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:34 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:34 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.033 1718 0.033) namespacegcworker stdout | 2025-09-26 08:37:34,841 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:37:34,841 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:58.835976+00:00 (in 23.994593 seconds) namespacegcworker stdout | 2025-09-26 08:37:34,841 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:34 GMT)" (scheduled at 2025-09-26 08:37:34.840898+00:00) namespacegcworker stdout | 2025-09-26 08:37:34,841 [66] [DEBUG] [workers.queueworker] Running watchdog. namespacegcworker stdout | 2025-09-26 08:37:34,841 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:34 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:37:34,846 [257] [DEBUG] [app] Starting request: urn:request:8954ef59-f0cb-44c4-8b3b-938ce78c2d35 (/v2/testorg2/alpine/blobs/uploads/0bcdefac-590e-430d-8dc0-6b7913dfa210) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:34,846 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '0bcdefac-590e-430d-8dc0-6b7913dfa210', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:34,846 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:34,846 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:34,847 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:34,847 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:34,847 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:34,847 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:34,847 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:34,848 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,854 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,857 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,861 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,865 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,868 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,872 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,875 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:34,880 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0bcdefac-590e-430d-8dc0-6b7913dfa210', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:34,883 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:34,883 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:34,884 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:34,885 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:34,885 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:34,885 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,885 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,885 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,885 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,885 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,885 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,885 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,885 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,885 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:34,885 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:34,885 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:34,885 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:34,886 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,886 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,886 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,886 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:34,886 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,886 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,886 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,886 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,886 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:34,886 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083734Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:34,886 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083734Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | d705705417d9c070a98e7866af1d8d53752b061f7a95df1cfa5ac15443951d9e gunicorn-registry stdout | 2025-09-26 08:37:34,887 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | d2cbea74e6a6eef856ff9951ba9c2399644f29e8ab36b972f1350b39f0336db6 gunicorn-registry stdout | 2025-09-26 08:37:34,887 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,887 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:34,887 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:34,892 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:34,892 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9rfs-x0ztc-1594', 'x-amz-id-2': 'mg0l9rfs-x0ztc-1594', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:34 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:34,892 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b4468d650ced73ec60008f935eb' gunicorn-registry stdout | 2025-09-26 08:37:34,893 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:34,893 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:34,893 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:34,893 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9rfs-x0ztc-1594', 'HostId': 'mg0l9rfs-x0ztc-1594', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9rfs-x0ztc-1594', 'x-amz-id-2': 'mg0l9rfs-x0ztc-1594', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:34 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44', 'UploadId': '68d650ced73ec60008f935eb'} gunicorn-registry stdout | 2025-09-26 08:37:34,893 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:35,174 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:35,174 [257] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:35,175 [257] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44', 'UploadId': '68d650ced73ec60008f935eb', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50e126340>, 'ContentLength': 3644971} gunicorn-registry stdout | 2025-09-26 08:37:35,175 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,175 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,175 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,175 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,175 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,175 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,175 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,175 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,175 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:35,175 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:35,175 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:35,175 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:35,175 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,184 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,184 [257] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:35,184 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,184 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,184 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44', 'query_string': {'uploadId': '68d650ced73ec60008f935eb', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '3644971', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'XToaaA0qAK1h4tRZ29J0Nw==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50e126340>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44?uploadId=68d650ced73ec60008f935eb&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44', 'UploadId': '68d650ced73ec60008f935eb', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50e126340>, 'ContentLength': 3644971}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:35,184 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,184 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,184 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,184 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,185 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:35,185 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44 gunicorn-registry stdout | partNumber=1&uploadId=68d650ced73ec60008f935eb gunicorn-registry stdout | content-length:3644971 gunicorn-registry stdout | content-md5:XToaaA0qAK1h4tRZ29J0Nw== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083735Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:35,185 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083735Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | f8bd6437e39f7091af889342a288ed9ef2393af64519fff7a2f325e61a54f8b9 gunicorn-registry stdout | 2025-09-26 08:37:35,185 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 37e7c2b0d45e12cad76b8f1c38276db6e2c09d6ad4822ca0ae1b7ec5a1de3029 gunicorn-registry stdout | 2025-09-26 08:37:35,185 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,185 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:35,185 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:35,186 [257] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:35,186 [257] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:35,362 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44?uploadId=68d650ced73ec60008f935eb&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:35,362 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ro2-5uoib1-gi2', 'x-amz-id-2': 'mg0l9ro2-5uoib1-gi2', 'ETag': '"5d3a1a680d2a00ad61e2d459dbd27437"', 'Date': 'Fri, 26 Sep 2025 08:37:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:35,363 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:35,363 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,363 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:35,363 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,363 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9ro2-5uoib1-gi2', 'HostId': 'mg0l9ro2-5uoib1-gi2', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ro2-5uoib1-gi2', 'x-amz-id-2': 'mg0l9ro2-5uoib1-gi2', 'etag': '"5d3a1a680d2a00ad61e2d459dbd27437"', 'date': 'Fri, 26 Sep 2025 08:37:35 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"5d3a1a680d2a00ad61e2d459dbd27437"'} gunicorn-registry stdout | 2025-09-26 08:37:35,363 [257] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44', 'UploadId': '68d650ced73ec60008f935eb', 'MultipartUpload': {'Parts': [{'ETag': '"5d3a1a680d2a00ad61e2d459dbd27437"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:35,363 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,363 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,363 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,363 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,364 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,364 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,364 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,364 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:35,364 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:35,364 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:35,364 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:35,365 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,365 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,365 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,365 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44', 'query_string': {'uploadId': '68d650ced73ec60008f935eb'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"5d3a1a680d2a00ad61e2d459dbd27437"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44?uploadId=68d650ced73ec60008f935eb', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44', 'UploadId': '68d650ced73ec60008f935eb', 'MultipartUpload': {'Parts': [{'ETag': '"5d3a1a680d2a00ad61e2d459dbd27437"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:35,365 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,365 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,365 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,365 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,365 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:35,365 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44 gunicorn-registry stdout | uploadId=68d650ced73ec60008f935eb gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:879ff609caf18a12c50f443943df1a2e4413d4d67a460f39d0f0f677c7697376 gunicorn-registry stdout | x-amz-date:20250926T083735Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 879ff609caf18a12c50f443943df1a2e4413d4d67a460f39d0f0f677c7697376 gunicorn-registry stdout | 2025-09-26 08:37:35,365 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083735Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 798defe3a35ad8b3386c719dcb736e65c093a3a71443cde7f8d107c296d0e71d gunicorn-registry stdout | 2025-09-26 08:37:35,365 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | a558e00c1d99b647c5ae7ee9579b35b49f6cdc643386190c5e3dc734600414b9 gunicorn-registry stdout | 2025-09-26 08:37:35,365 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,365 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:35,366 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:35,382 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44?uploadId=68d650ced73ec60008f935eb HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:35,382 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9rt2-8tyai3-1aaf', 'x-amz-id-2': 'mg0l9rt2-8tyai3-1aaf', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:35,382 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44"8cf974dbe64288a14b55e67b7a2cdd3d-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44?uploadId=68d650ced73ec60008f935eb' gunicorn-registry stdout | 2025-09-26 08:37:35,383 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,383 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,383 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:35,383 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,383 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9rt2-8tyai3-1aaf', 'HostId': 'mg0l9rt2-8tyai3-1aaf', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9rt2-8tyai3-1aaf', 'x-amz-id-2': 'mg0l9rt2-8tyai3-1aaf', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:35 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44?uploadId=68d650ced73ec60008f935eb', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44', 'ETag': '"8cf974dbe64288a14b55e67b7a2cdd3d-1"'} gunicorn-registry stdout | 2025-09-26 08:37:35,383 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:35,384 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:35,384 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 3644971 bytes to blob 0bcdefac-590e-430d-8dc0-6b7913dfa210 took 0.5006053447723389 seconds gunicorn-registry stdout | 2025-09-26 08:37:35,385 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0bcdefac-590e-430d-8dc0-6b7913dfa210', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,390 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '0bcdefac-590e-430d-8dc0-6b7913dfa210', 3644971, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENw2/XqQW74Q11Rf+vxP/I0/GHytv/TTW5yk5t8W/n/AgAA//+SDWrHAL6EAOnaDf9H/K93Ad+mjafjj919/3XF/ysAAAAAAAAAAPC8AQAAAABTSjgz20xvsZIIxGBUP4Aa8DiK7/e38wUN11UHIf0Ys5RiLg==', 9, '{"chunks": [["uploads/b596773e-3dba-4707-bf94-b03f072f8b44", 0, 3644971]]}', 1, 8699392, datetime.datetime(2025, 9, 26, 8, 37, 34, 801793), None, None, 81]) gunicorn-registry stdout | 2025-09-26 08:37:35,394 [257] [DEBUG] [app] Ending request: urn:request:8954ef59-f0cb-44c4-8b3b-938ce78c2d35 (/v2/testorg2/alpine/blobs/uploads/0bcdefac-590e-430d-8dc0-6b7913dfa210) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:8954ef59-f0cb-44c4-8b3b-938ce78c2d35', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/0bcdefac-590e-430d-8dc0-6b7913dfa210', 'path': '/v2/testorg2/alpine/blobs/uploads/0bcdefac-590e-430d-8dc0-6b7913dfa210', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:35,394 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:35,394 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:35,395 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:35 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/0bcdefac-590e-430d-8dc0-6b7913dfa210 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:35 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/0bcdefac-590e-430d-8dc0-6b7913dfa210 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.551 3646751 0.550) gunicorn-registry stdout | 2025-09-26 08:37:35,437 [250] [DEBUG] [app] Starting request: urn:request:62687217-55c9-44ff-ad81-3828fcf16bff (/v2/testorg2/alpine/blobs/uploads/0bcdefac-590e-430d-8dc0-6b7913dfa210) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:35,437 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '0bcdefac-590e-430d-8dc0-6b7913dfa210', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:35,437 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:35,437 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:35,438 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:35,438 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:35,438 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:35,438 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:35,438 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:35,440 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,444 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,447 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,450 [250] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,454 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,457 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,460 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,464 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:35,467 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0bcdefac-590e-430d-8dc0-6b7913dfa210', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,471 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:35,471 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:35,471 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:35,472 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:35,472 [250] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/61704357-77f8-47b1-a865-e51e3fc62bf4', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:35,472 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,472 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,472 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,472 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,472 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,472 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,473 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,473 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,473 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:35,473 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:35,473 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:35,473 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:35,473 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,473 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,474 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,474 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/61704357-77f8-47b1-a865-e51e3fc62bf4?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/61704357-77f8-47b1-a865-e51e3fc62bf4', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/61704357-77f8-47b1-a865-e51e3fc62bf4?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/61704357-77f8-47b1-a865-e51e3fc62bf4', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:35,474 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,474 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,474 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,474 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,474 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:35,474 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/61704357-77f8-47b1-a865-e51e3fc62bf4 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083735Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:35,474 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083735Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 6a3b4f7108544a811948a7adf3606fdde059954bbfb012fe7772c3d0afebd56e gunicorn-registry stdout | 2025-09-26 08:37:35,474 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 475782cf184a1ca5f4407c0465d36c1229ba87cd2f1f56dfad9a1f9377aa1760 gunicorn-registry stdout | 2025-09-26 08:37:35,475 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,475 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:35,475 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:35,480 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/61704357-77f8-47b1-a865-e51e3fc62bf4?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:35,481 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9rw4-an1e61-10xq', 'x-amz-id-2': 'mg0l9rw4-an1e61-10xq', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:35,481 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/61704357-77f8-47b1-a865-e51e3fc62bf468d650cfd73ec60008f935f5' gunicorn-registry stdout | 2025-09-26 08:37:35,481 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,481 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:35,481 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,481 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9rw4-an1e61-10xq', 'HostId': 'mg0l9rw4-an1e61-10xq', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9rw4-an1e61-10xq', 'x-amz-id-2': 'mg0l9rw4-an1e61-10xq', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:35 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/61704357-77f8-47b1-a865-e51e3fc62bf4', 'UploadId': '68d650cfd73ec60008f935f5'} gunicorn-registry stdout | 2025-09-26 08:37:35,481 [250] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:35,482 [250] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/61704357-77f8-47b1-a865-e51e3fc62bf4', 'UploadId': '68d650cfd73ec60008f935f5'} gunicorn-registry stdout | 2025-09-26 08:37:35,482 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,482 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,482 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,482 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,482 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,482 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,482 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:35,482 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:35,482 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:35,482 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:35,482 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,482 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,482 [250] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,482 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/61704357-77f8-47b1-a865-e51e3fc62bf4', 'query_string': {'uploadId': '68d650cfd73ec60008f935f5'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/61704357-77f8-47b1-a865-e51e3fc62bf4', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/61704357-77f8-47b1-a865-e51e3fc62bf4?uploadId=68d650cfd73ec60008f935f5', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/61704357-77f8-47b1-a865-e51e3fc62bf4', 'UploadId': '68d650cfd73ec60008f935f5'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:35,482 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,482 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,482 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,483 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,483 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:35,483 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/61704357-77f8-47b1-a865-e51e3fc62bf4 gunicorn-registry stdout | uploadId=68d650cfd73ec60008f935f5 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083735Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:35,483 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083735Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | a6f323de0357fb89016b98b7ead9babafb386fe5c6ae9a7deaa3be293ced0f8e gunicorn-registry stdout | 2025-09-26 08:37:35,483 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | e4c404dd8f4f89300f3b93dbc5b94d13ade8467f8e76394ad41d1332e57528a7 gunicorn-registry stdout | 2025-09-26 08:37:35,483 [250] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,483 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:35,483 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:35,489 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/61704357-77f8-47b1-a865-e51e3fc62bf4?uploadId=68d650cfd73ec60008f935f5 HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:35,490 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9rwc-arv3vu-64h', 'x-amz-id-2': 'mg0l9rwc-arv3vu-64h', 'Date': 'Fri, 26 Sep 2025 08:37:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:35,490 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:35,490 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,490 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:35,490 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,490 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9rwc-arv3vu-64h', 'HostId': 'mg0l9rwc-arv3vu-64h', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9rwc-arv3vu-64h', 'x-amz-id-2': 'mg0l9rwc-arv3vu-64h', 'date': 'Fri, 26 Sep 2025 08:37:35 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:35,490 [250] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 0bcdefac-590e-430d-8dc0-6b7913dfa210 took 0.01902294158935547 seconds gunicorn-registry stdout | 2025-09-26 08:37:35,490 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0bcdefac-590e-430d-8dc0-6b7913dfa210', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,494 [250] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '0bcdefac-590e-430d-8dc0-6b7913dfa210', 3644971, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENw2/XqQW74Q11Rf+vxP/I0/GHytv/TTW5yk5t8W/n/AgAA//+SDWrHAL6EAOnaDf9H/K93Ad+mjafjj919/3XF/ysAAAAAAAAAAPC8AQAAAABTSjgz20xvsZIIxGBUP4Aa8DiK7/e38wUN11UHIf0Ys5RiLg==', 9, '{"chunks": [["uploads/b596773e-3dba-4707-bf94-b03f072f8b44", 0, 3644971]]}', 2, 8699392, datetime.datetime(2025, 9, 26, 8, 37, 34, 801793), None, None, 81]) gunicorn-registry stdout | 2025-09-26 08:37:35,498 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:35,498 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:35,499 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:35,499 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:35,500 [250] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361'} gunicorn-registry stdout | 2025-09-26 08:37:35,500 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,500 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,500 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,500 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,500 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,500 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,500 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,500 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:35,500 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:35,500 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:35,500 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:35,500 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,500 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,500 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,500 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:35,500 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,500 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,501 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,501 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,501 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:35,501 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083735Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:35,501 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083735Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 3c727bb93c31319f75993d1c485ad00b18dd962ff07c1df6a7b5a1c1f3ab8f5c gunicorn-registry stdout | 2025-09-26 08:37:35,501 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | a64ea5670310b69633be087cd52c5458edbacbaf6c48ee4e8539735f29e2b57e gunicorn-registry stdout | 2025-09-26 08:37:35,501 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,501 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:35,501 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:35,505 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:35,505 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9rwu-b2lbps-14as', 'x-amz-id-2': 'mg0l9rwu-b2lbps-14as', 'Content-Type': 'application/xml', 'Content-Length': '339', 'Date': 'Fri, 26 Sep 2025 08:37:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:35,505 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:35,505 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,505 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:35,505 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,506 [250] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:35,506 [250] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:35,506 [250] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361 gunicorn-registry stdout | 2025-09-26 08:37:35,506 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:35,506 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:35,506 [250] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:35,506 [250] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:35,506 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,506 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,506 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,506 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,506 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,506 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,506 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,507 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:35,507 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:35,507 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:35,507 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:35,507 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,507 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,507 [250] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,507 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:35,507 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,507 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,507 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,507 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,507 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,508 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:35,508 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083735Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:35,508 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083735Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | c88d72ac6baece05450cead3453ebca5a638cf2ed6cda7c8977d347024e4a9c2 gunicorn-registry stdout | 2025-09-26 08:37:35,508 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ec0c4654473b632da1a7cb0cdd8300081959757ba6622ffaa3b7b68337e73717 gunicorn-registry stdout | 2025-09-26 08:37:35,508 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,509 [250] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,509 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:35,509 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:35,513 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:35,513 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9rx1-b74211-q5l', 'x-amz-id-2': 'mg0l9rx1-b74211-q5l', 'ETag': '"8cf974dbe64288a14b55e67b7a2cdd3d-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:35 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '3644971', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:35,513 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:35,513 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,513 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:35,513 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,513 [250] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:35,513 [250] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:35,514 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:35,514 [250] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:35,514 [250] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 'extra_args': {}, 'callbacks': [], 'size': 3644971} gunicorn-registry stdout | 2025-09-26 08:37:35,514 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,515 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,516 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,516 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,516 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:35,516 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b596773e-3dba-4707-bf94-b03f072f8b44 gunicorn-registry stdout | x-amz-date:20250926T083735Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:35,516 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083735Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 2ad1b185356e8bb30a6698165b21d770f20d16c2ed1a52bbb9b5ac58b3c84bed gunicorn-registry stdout | 2025-09-26 08:37:35,516 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 2e8cf0ed2ac7631bc614737cb62017488d269240db73d0f77527145b0ef10bf3 gunicorn-registry stdout | 2025-09-26 08:37:35,516 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,516 [250] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,516 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:35,516 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:35,516 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:35,540 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:35,540 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9rx9-bbmxqk-zo5', 'x-amz-id-2': 'mg0l9rx9-bbmxqk-zo5', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:35,540 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:35.000Z"8cf974dbe64288a14b55e67b7a2cdd3d-1"' gunicorn-registry stdout | 2025-09-26 08:37:35,540 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,540 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,540 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:35,540 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,540 [250] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:35,541 [250] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 0bcdefac-590e-430d-8dc0-6b7913dfa210 with digest sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361 took 0.03529930114746094 seconds gunicorn-registry stdout | 2025-09-26 08:37:35,541 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0bcdefac-590e-430d-8dc0-6b7913dfa210', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,544 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,546 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['03b02809-8f51-4afc-b064-91b2ba8583d2', 3644971, 8699392, True, True, 'sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361']) gunicorn-registry stdout | 2025-09-26 08:37:35,547 [250] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [82, 9]) gunicorn-registry stdout | 2025-09-26 08:37:35,549 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,550 [250] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 82, datetime.datetime(2025, 9, 26, 8, 37, 35, 550655), datetime.datetime(2025, 9, 26, 9, 37, 35, 550639)]) gunicorn-registry stdout | 2025-09-26 08:37:35,552 [250] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [81]) gunicorn-registry stdout | 2025-09-26 08:37:35,556 [250] [DEBUG] [app] Ending request: urn:request:62687217-55c9-44ff-ad81-3828fcf16bff (/v2/testorg2/alpine/blobs/uploads/0bcdefac-590e-430d-8dc0-6b7913dfa210) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:62687217-55c9-44ff-ad81-3828fcf16bff', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/0bcdefac-590e-430d-8dc0-6b7913dfa210?digest=sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 'path': '/v2/testorg2/alpine/blobs/uploads/0bcdefac-590e-430d-8dc0-6b7913dfa210', 'parameters': {'digest': 'sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:35,556 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:35,556 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:35 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/0bcdefac-590e-430d-8dc0-6b7913dfa210?digest=sha256%3A5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.120 1853 0.120) gunicorn-registry stdout | 2025-09-26 08:37:35,556 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:35 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/0bcdefac-590e-430d-8dc0-6b7913dfa210?digest=sha256%3A5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:37:35,739 [256] [DEBUG] [app] Starting request: urn:request:99dd55c4-0151-415b-8835-99175510cf4a (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:35,739 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:35,739 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:35,739 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:35,740 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:35,740 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:35,740 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:35,740 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:35,740 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:35,741 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,746 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,749 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,754 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,757 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,760 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,763 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:35,767 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,770 [256] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, 'b651bff6-348e-464b-b8b2-51404ec9e67d', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 35, 770100)]) gunicorn-registry stdout | 2025-09-26 08:37:35,775 [256] [DEBUG] [app] Ending request: urn:request:99dd55c4-0151-415b-8835-99175510cf4a (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:99dd55c4-0151-415b-8835-99175510cf4a', 'remote_addr': '10.129.4.11', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:35,775 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:35,775 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:35,775 [256] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:35 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:35 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.037 1697 0.037) gunicorn-registry stdout | 2025-09-26 08:37:35,817 [257] [DEBUG] [app] Starting request: urn:request:60318828-f21d-4c38-a458-7b3dc7004e17 (/v2/testorg2/alpine/blobs/uploads/b651bff6-348e-464b-b8b2-51404ec9e67d) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:35,817 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'b651bff6-348e-464b-b8b2-51404ec9e67d', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:35,818 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:35,818 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:35,818 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:35,819 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:35,819 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:35,819 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:35,819 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:35,820 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,824 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,827 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,831 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,834 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,838 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,841 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,845 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:35,848 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['b651bff6-348e-464b-b8b2-51404ec9e67d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,852 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:35,852 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:35,852 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:35,853 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:35,853 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:35,853 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,853 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,853 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,853 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,853 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,853 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,853 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,853 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,853 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:35,854 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:35,854 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:35,854 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:35,854 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,854 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,854 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,854 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:35,854 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,854 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,854 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,854 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,854 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:35,854 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083735Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:35,854 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083735Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 0d87cce545fad47f74626d8b2492decb1fdda7cede26ec0c3d8850a8d98e0d23 gunicorn-registry stdout | 2025-09-26 08:37:35,855 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | f9cfbc957f83caaaa124ae54e6664c6faf39737c80706514333109f4e8c81089 gunicorn-registry stdout | 2025-09-26 08:37:35,855 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,855 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:35,855 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:35,860 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:35,861 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9s6o-e39p6-1arl', 'x-amz-id-2': 'mg0l9s6o-e39p6-1arl', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:35,861 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe668d650cfd73ec60008f935f9' gunicorn-registry stdout | 2025-09-26 08:37:35,861 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,861 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:35,861 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,861 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9s6o-e39p6-1arl', 'HostId': 'mg0l9s6o-e39p6-1arl', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9s6o-e39p6-1arl', 'x-amz-id-2': 'mg0l9s6o-e39p6-1arl', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:35 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6', 'UploadId': '68d650cfd73ec60008f935f9'} gunicorn-registry stdout | 2025-09-26 08:37:35,861 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:35,862 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:35,862 [257] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:35,862 [257] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6', 'UploadId': '68d650cfd73ec60008f935f9', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc918a0>, 'ContentLength': 580} gunicorn-registry stdout | 2025-09-26 08:37:35,862 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,862 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,862 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,862 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,862 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,862 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,862 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,862 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,863 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:35,863 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:35,863 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:35,863 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:35,863 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,863 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,863 [257] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:35,863 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,863 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,863 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6', 'query_string': {'uploadId': '68d650cfd73ec60008f935f9', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '580', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': 'uIcxnpKfRf0oqhB4DTGg7Q==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc918a0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6?uploadId=68d650cfd73ec60008f935f9&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6', 'UploadId': '68d650cfd73ec60008f935f9', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc918a0>, 'ContentLength': 580}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:35,863 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,863 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,863 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,863 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,863 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:35,863 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6 gunicorn-registry stdout | partNumber=1&uploadId=68d650cfd73ec60008f935f9 gunicorn-registry stdout | content-length:580 gunicorn-registry stdout | content-md5:uIcxnpKfRf0oqhB4DTGg7Q== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083735Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:35,864 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083735Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 68ce012fae4b26a5b5eca617e6f08a70e3e9515dd836a3539e6ef2de248e016b gunicorn-registry stdout | 2025-09-26 08:37:35,864 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | a1f4e6b4d1541b062d3af6ab14432397f698478d1936fd6ff6ed1f6d1459d302 gunicorn-registry stdout | 2025-09-26 08:37:35,864 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,864 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:35,864 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:35,865 [257] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:35,865 [257] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:35,943 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6?uploadId=68d650cfd73ec60008f935f9&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:35,944 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9s6x-ja2rz-y8', 'x-amz-id-2': 'mg0l9s6x-ja2rz-y8', 'ETag': '"b887319e929f45fd28aa10780d31a0ed"', 'Date': 'Fri, 26 Sep 2025 08:37:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:35,944 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:35,944 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,944 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:35,944 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,944 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9s6x-ja2rz-y8', 'HostId': 'mg0l9s6x-ja2rz-y8', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9s6x-ja2rz-y8', 'x-amz-id-2': 'mg0l9s6x-ja2rz-y8', 'etag': '"b887319e929f45fd28aa10780d31a0ed"', 'date': 'Fri, 26 Sep 2025 08:37:35 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"b887319e929f45fd28aa10780d31a0ed"'} gunicorn-registry stdout | 2025-09-26 08:37:35,944 [257] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6', 'UploadId': '68d650cfd73ec60008f935f9', 'MultipartUpload': {'Parts': [{'ETag': '"b887319e929f45fd28aa10780d31a0ed"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:35,944 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,944 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,944 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,944 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,944 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,945 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,945 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,945 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:35,945 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:35,945 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:35,945 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:35,945 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,945 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,945 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,945 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6', 'query_string': {'uploadId': '68d650cfd73ec60008f935f9'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"b887319e929f45fd28aa10780d31a0ed"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6?uploadId=68d650cfd73ec60008f935f9', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6', 'UploadId': '68d650cfd73ec60008f935f9', 'MultipartUpload': {'Parts': [{'ETag': '"b887319e929f45fd28aa10780d31a0ed"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:35,945 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,945 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,945 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,945 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,946 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:35,946 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6 gunicorn-registry stdout | uploadId=68d650cfd73ec60008f935f9 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:0fa7c06d4908bf8f63e10424f669384fb52bd4172afc9155c44af1e75803c3cb gunicorn-registry stdout | x-amz-date:20250926T083735Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 0fa7c06d4908bf8f63e10424f669384fb52bd4172afc9155c44af1e75803c3cb gunicorn-registry stdout | 2025-09-26 08:37:35,946 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083735Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | bce28e5726ee8e06ba0714eb6e25ea58dcdc1949c9f3c5df1396875712cb3757 gunicorn-registry stdout | 2025-09-26 08:37:35,946 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 4237d4f5f3248264cb255663686acfc0d9adf8c662ba0386472d4bd037e0c746 gunicorn-registry stdout | 2025-09-26 08:37:35,946 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,946 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:35,946 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:35,961 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6?uploadId=68d650cfd73ec60008f935f9 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:35,961 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9s97-1w5xfb-znz', 'x-amz-id-2': 'mg0l9s97-1w5xfb-znz', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:35 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:35,961 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6"1d618db65765ad3e9325f8ce6eb88cb7-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6?uploadId=68d650cfd73ec60008f935f9' gunicorn-registry stdout | 2025-09-26 08:37:35,961 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,962 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:35,962 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:35,962 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:35,962 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9s97-1w5xfb-znz', 'HostId': 'mg0l9s97-1w5xfb-znz', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9s97-1w5xfb-znz', 'x-amz-id-2': 'mg0l9s97-1w5xfb-znz', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:35 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6?uploadId=68d650cfd73ec60008f935f9', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6', 'ETag': '"1d618db65765ad3e9325f8ce6eb88cb7-1"'} gunicorn-registry stdout | 2025-09-26 08:37:35,962 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:35,963 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:35,963 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 580 bytes to blob b651bff6-348e-464b-b8b2-51404ec9e67d took 0.11075305938720703 seconds gunicorn-registry stdout | 2025-09-26 08:37:35,963 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['b651bff6-348e-464b-b8b2-51404ec9e67d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:35,968 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, 'b651bff6-348e-464b-b8b2-51404ec9e67d', 580, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwIl19fTQ4ZTk1OTY1NzVmOThhMzBlMjJiZThiYTNmYjI4MmVlYWM5ZDk5Y2RmZDFmNTU0ZmY0YjFjNDJiM2Q4MAQAAAAAAAAAABIAAAAAAABHMxVn7WGZKcj73WZOn7HjoT08iEcbbfjDb+Rglq4w9pRiLg==', 9, '{"chunks": [["uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6", 0, 580]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 35, 770100), None, None, 82]) gunicorn-registry stdout | 2025-09-26 08:37:35,973 [257] [DEBUG] [app] Ending request: urn:request:60318828-f21d-4c38-a458-7b3dc7004e17 (/v2/testorg2/alpine/blobs/uploads/b651bff6-348e-464b-b8b2-51404ec9e67d) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:60318828-f21d-4c38-a458-7b3dc7004e17', 'remote_addr': '10.129.4.11', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/b651bff6-348e-464b-b8b2-51404ec9e67d', 'path': '/v2/testorg2/alpine/blobs/uploads/b651bff6-348e-464b-b8b2-51404ec9e67d', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:35,973 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:35,974 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:35,974 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:35 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/b651bff6-348e-464b-b8b2-51404ec9e67d HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:35 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/b651bff6-348e-464b-b8b2-51404ec9e67d HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.159 2356 0.158) gunicorn-registry stdout | 2025-09-26 08:37:36,016 [257] [DEBUG] [app] Starting request: urn:request:7995730c-6314-44d5-92ce-7aa1af1af713 (/v2/testorg2/alpine/blobs/uploads/b651bff6-348e-464b-b8b2-51404ec9e67d) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:36,016 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': 'b651bff6-348e-464b-b8b2-51404ec9e67d', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:36,016 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:36,016 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:36,018 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:36,018 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:36,018 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:36,018 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:36,018 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:36,019 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,023 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,026 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,030 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,034 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,037 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,041 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,044 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:36,048 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['b651bff6-348e-464b-b8b2-51404ec9e67d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,052 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:36,052 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:36,052 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:36,053 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:36,053 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b9c15da7-dba2-4d5a-a906-67494b7e135e', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:36,053 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,053 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,053 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,053 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,053 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,053 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,053 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,054 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,054 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:36,054 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:36,054 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:36,054 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:36,054 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,054 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,054 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,054 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/b9c15da7-dba2-4d5a-a906-67494b7e135e?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b9c15da7-dba2-4d5a-a906-67494b7e135e', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b9c15da7-dba2-4d5a-a906-67494b7e135e?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b9c15da7-dba2-4d5a-a906-67494b7e135e', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:36,054 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,054 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,054 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,054 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,054 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:36,055 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b9c15da7-dba2-4d5a-a906-67494b7e135e gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083736Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:36,055 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083736Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4c1379a7be18d4e875c4ba79d635e2a0451c3485b4302b1c22b6120ad5937a5b gunicorn-registry stdout | 2025-09-26 08:37:36,055 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | a087ce3b4f5fee8d41d7af7859d91ab569497daaaa9b8af067f946208c9c9216 gunicorn-registry stdout | 2025-09-26 08:37:36,055 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,055 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:36,055 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:36,060 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b9c15da7-dba2-4d5a-a906-67494b7e135e?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:36,060 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9sc8-3p7o0n-jyl', 'x-amz-id-2': 'mg0l9sc8-3p7o0n-jyl', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:36 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:36,061 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/b9c15da7-dba2-4d5a-a906-67494b7e135e68d650d0d73ec60008f935ff' gunicorn-registry stdout | 2025-09-26 08:37:36,061 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,061 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:36,061 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,061 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9sc8-3p7o0n-jyl', 'HostId': 'mg0l9sc8-3p7o0n-jyl', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9sc8-3p7o0n-jyl', 'x-amz-id-2': 'mg0l9sc8-3p7o0n-jyl', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:36 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b9c15da7-dba2-4d5a-a906-67494b7e135e', 'UploadId': '68d650d0d73ec60008f935ff'} gunicorn-registry stdout | 2025-09-26 08:37:36,061 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:36,061 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b9c15da7-dba2-4d5a-a906-67494b7e135e', 'UploadId': '68d650d0d73ec60008f935ff'} gunicorn-registry stdout | 2025-09-26 08:37:36,062 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,062 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,062 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,062 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,062 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,062 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,062 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:36,062 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:36,062 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:36,062 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:36,062 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,062 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,062 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,062 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/b9c15da7-dba2-4d5a-a906-67494b7e135e', 'query_string': {'uploadId': '68d650d0d73ec60008f935ff'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b9c15da7-dba2-4d5a-a906-67494b7e135e', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b9c15da7-dba2-4d5a-a906-67494b7e135e?uploadId=68d650d0d73ec60008f935ff', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/b9c15da7-dba2-4d5a-a906-67494b7e135e', 'UploadId': '68d650d0d73ec60008f935ff'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:36,062 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,062 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,062 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,062 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,063 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:36,063 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b9c15da7-dba2-4d5a-a906-67494b7e135e gunicorn-registry stdout | uploadId=68d650d0d73ec60008f935ff gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083736Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:36,063 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083736Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 9e239eda8439f1c725d9410cd6068c61c8c82bd6c61e10c0c0b6c5a8820f9683 gunicorn-registry stdout | 2025-09-26 08:37:36,063 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | d2de0e8159823ee1e36a3cf05bfb4e4582d3373f1ca43dfcaaf075a4aef3c37e gunicorn-registry stdout | 2025-09-26 08:37:36,063 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,063 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:36,063 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:36,069 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/b9c15da7-dba2-4d5a-a906-67494b7e135e?uploadId=68d650d0d73ec60008f935ff HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:36,069 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9scg-3u0anj-627', 'x-amz-id-2': 'mg0l9scg-3u0anj-627', 'Date': 'Fri, 26 Sep 2025 08:37:36 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:36,069 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:36,069 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,069 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:36,069 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,069 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9scg-3u0anj-627', 'HostId': 'mg0l9scg-3u0anj-627', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9scg-3u0anj-627', 'x-amz-id-2': 'mg0l9scg-3u0anj-627', 'date': 'Fri, 26 Sep 2025 08:37:36 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:36,070 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob b651bff6-348e-464b-b8b2-51404ec9e67d took 0.017398834228515625 seconds gunicorn-registry stdout | 2025-09-26 08:37:36,070 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['b651bff6-348e-464b-b8b2-51404ec9e67d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,074 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, 'b651bff6-348e-464b-b8b2-51404ec9e67d', 580, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwIl19fTQ4ZTk1OTY1NzVmOThhMzBlMjJiZThiYTNmYjI4MmVlYWM5ZDk5Y2RmZDFmNTU0ZmY0YjFjNDJiM2Q4MAQAAAAAAAAAABIAAAAAAABHMxVn7WGZKcj73WZOn7HjoT08iEcbbfjDb+Rglq4w9pRiLg==', 9, '{"chunks": [["uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6", 0, 580]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 35, 770100), None, None, 82]) gunicorn-registry stdout | 2025-09-26 08:37:36,079 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:36,079 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:36,079 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:36,080 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:36,080 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2'} gunicorn-registry stdout | 2025-09-26 08:37:36,080 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,080 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,080 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,080 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,080 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,080 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,080 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,081 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:36,081 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:36,081 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:36,081 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:36,081 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,081 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,081 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,081 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:36,081 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,081 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,081 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,081 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,081 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:36,081 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083736Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:36,081 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083736Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 22d00d50d8ece4960257ff073e33d0f95f0fe3dcfb85c9905e8aa969cfc2ff85 gunicorn-registry stdout | 2025-09-26 08:37:36,081 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 4dab01a663bb710af5e2dbf49714b9085fe3e916a645102992df71f361db6347 gunicorn-registry stdout | 2025-09-26 08:37:36,082 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,082 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:36,082 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:36,086 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2 HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:36,087 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9scz-455kd1-w0u', 'x-amz-id-2': 'mg0l9scz-455kd1-w0u', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:36 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:36,087 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:36,087 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,087 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:36,087 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,087 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:36,087 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:36,087 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2 gunicorn-registry stdout | 2025-09-26 08:37:36,087 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:36,088 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:36,088 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:36,088 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:36,088 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,088 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,088 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,088 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,088 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,088 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,088 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,088 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:36,088 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:36,088 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:36,088 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:36,088 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,088 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,088 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,088 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:36,088 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,089 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,089 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,089 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,089 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,089 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:36,089 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083736Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:36,089 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083736Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 8453fc446284ef3eafaaa71c2e15af6bfe42e816adac922ac265cdfb2c4fff5f gunicorn-registry stdout | 2025-09-26 08:37:36,089 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 58557a09a1f5d06701977fc81aa04e62f039b28c4325ec76f7a047885df810c7 gunicorn-registry stdout | 2025-09-26 08:37:36,089 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,089 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,089 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:36,090 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:36,093 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:36,093 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9sd6-49mgnv-876', 'x-amz-id-2': 'mg0l9sd6-49mgnv-876', 'ETag': '"1d618db65765ad3e9325f8ce6eb88cb7-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:35 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '580', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:36 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:36,093 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:36,094 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,094 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:36,094 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,094 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:36,094 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:36,094 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:36,094 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:36,094 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 'extra_args': {}, 'callbacks': [], 'size': 580} gunicorn-registry stdout | 2025-09-26 08:37:36,094 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,094 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,094 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,094 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,094 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,094 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,095 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,095 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,095 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,095 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,095 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:36,095 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:36,095 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:36,095 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:36,095 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,095 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,095 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,095 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:36,095 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,095 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,095 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,095 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,095 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,095 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:36,095 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/89adab1a-2953-4f06-9e0b-f5a493d86fe6 gunicorn-registry stdout | x-amz-date:20250926T083736Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:36,096 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083736Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ae95c590ca33022ad38f2377705c0bff95fc2447ba130ab619a272d12ed38833 gunicorn-registry stdout | 2025-09-26 08:37:36,096 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | a7382dd46d7c1114926abf81141272f37c2cce85f66e8ca8045c038828379778 gunicorn-registry stdout | 2025-09-26 08:37:36,096 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,096 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,096 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:36,096 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:36,096 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:36,119 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2 HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:36,119 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9sdd-4ddk5j-1a6f', 'x-amz-id-2': 'mg0l9sdd-4ddk5j-1a6f', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:36 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:36,119 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:36.000Z"1d618db65765ad3e9325f8ce6eb88cb7-1"' gunicorn-registry stdout | 2025-09-26 08:37:36,120 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,120 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,120 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:36,120 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,120 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:36,120 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob b651bff6-348e-464b-b8b2-51404ec9e67d with digest sha256:2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2 took 0.033571720123291016 seconds gunicorn-registry stdout | 2025-09-26 08:37:36,121 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['b651bff6-348e-464b-b8b2-51404ec9e67d', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,125 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,127 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['f647cfe7-f327-443b-bf19-34bb0f088bc7', 580, None, True, True, 'sha256:2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2']) gunicorn-registry stdout | 2025-09-26 08:37:36,128 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [83, 9]) gunicorn-registry stdout | 2025-09-26 08:37:36,130 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,131 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 83, datetime.datetime(2025, 9, 26, 8, 37, 36, 131659), datetime.datetime(2025, 9, 26, 9, 37, 36, 131644)]) gunicorn-registry stdout | 2025-09-26 08:37:36,133 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [82]) gunicorn-registry stdout | 2025-09-26 08:37:36,138 [257] [DEBUG] [app] Ending request: urn:request:7995730c-6314-44d5-92ce-7aa1af1af713 (/v2/testorg2/alpine/blobs/uploads/b651bff6-348e-464b-b8b2-51404ec9e67d) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:7995730c-6314-44d5-92ce-7aa1af1af713', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/b651bff6-348e-464b-b8b2-51404ec9e67d?digest=sha256:2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 'path': '/v2/testorg2/alpine/blobs/uploads/b651bff6-348e-464b-b8b2-51404ec9e67d', 'parameters': {'digest': 'sha256:2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:36,138 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:36,138 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:36 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/b651bff6-348e-464b-b8b2-51404ec9e67d?digest=sha256%3A2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.123 1853 0.123) gunicorn-registry stdout | 2025-09-26 08:37:36,138 [257] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:36 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/b651bff6-348e-464b-b8b2-51404ec9e67d?digest=sha256%3A2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2 HTTP/1.1" 201 0 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:37:36,197 [250] [DEBUG] [app] Starting request: urn:request:a4e6c6bd-7a6d-4473-97bf-f72c1bb0976b (/v2/testorg2/alpine/manifests/sha256:9e7331b8f4bbe798fca28aac7f6844896b436984b3412076e2890069b3ef397e) {'X-Forwarded-For': '66.187.232.127, 10.129.4.11'} gunicorn-registry stdout | 2025-09-26 08:37:36,197 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:9e7331b8f4bbe798fca28aac7f6844896b436984b3412076e2890069b3ef397e', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:36,197 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:36,197 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:36,198 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:36,198 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:36,198 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:36,198 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:36,198 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:36,200 [250] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:36,200 [250] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:36,200 [250] [DEBUG] [data.cache.impl] Found result in cache for key repository_lookup_testorg2_alpine: {'id': 3, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': 0, 'namespace_user': {'stripe_id': None}} gunicorn-registry stdout | 2025-09-26 08:37:36,202 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:9e7331b8f4bbe798fca28aac7f6844896b436984b3412076e2890069b3ef397e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,207 [250] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL (SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1")', [3, 'sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 1, 3, 'sha256:2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 1]) gunicorn-registry stdout | 2025-09-26 08:37:36,211 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:9e7331b8f4bbe798fca28aac7f6844896b436984b3412076e2890069b3ef397e', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,215 [250] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [3, 'sha256:9e7331b8f4bbe798fca28aac7f6844896b436984b3412076e2890069b3ef397e', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2",\n "size": 580\n },\n "layers": [\n {\n "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",\n "digest": "sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361",\n "size": 3644971\n }\n ],\n "annotations": {\n "com.docker.official-images.bashbrew.arch": "s390x",\n "org.opencontainers.image.base.name": "scratch",\n "org.opencontainers.image.created": "2025-07-15T11:01:16Z",\n "org.opencontainers.image.revision": "01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e",\n "org.opencontainers.image.source": "https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:s390x",\n "org.opencontainers.image.url": "https://hub.docker.com/_/alpine",\n "org.opencontainers.image.version": "3.22.1"\n }\n}', 'application/vnd.oci.image.config.v1+json', 3644971, None, True, None, True]) gunicorn-registry stdout | 2025-09-26 08:37:36,218 [250] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [3, 33, 82, 3, 33, 83]) gunicorn-registry stdout | 2025-09-26 08:37:36,219 [250] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,221 [250] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [4, 1]) gunicorn-registry stdout | 2025-09-26 08:37:36,223 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 82, 33, 1]) gunicorn-registry stdout | 2025-09-26 08:37:36,224 [250] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 83, 33, 1]) gunicorn-registry stdout | 2025-09-26 08:37:36,226 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,227 [250] [INFO] [data.model.quota] updating namespace size for manifest 33 in namespace 4, QuotaOperation.ADD 3645551 gunicorn-registry stdout | 2025-09-26 08:37:36,227 [250] [DEBUG] [peewee] ('UPDATE "quotanamespacesize" SET "size_bytes" = ("quotanamespacesize"."size_bytes" + %s) WHERE ("quotanamespacesize"."namespace_user_id" = %s)', [3645551, 4]) gunicorn-registry stdout | 2025-09-26 08:37:36,229 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,230 [250] [INFO] [data.model.quota] updating repository size for manifest 33 in repository 3, QuotaOperation.ADD 3645551 gunicorn-registry stdout | 2025-09-26 08:37:36,230 [250] [DEBUG] [peewee] ('UPDATE "quotarepositorysize" SET "size_bytes" = ("quotarepositorysize"."size_bytes" + %s) WHERE ("quotarepositorysize"."repository_id" = %s)', [3645551, 3]) gunicorn-registry stdout | 2025-09-26 08:37:36,232 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [33, None, 1758879456231, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,234 [250] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-f792f100-828b-41f3-8e95-fc2695abef1b', 3, 33, 1758875856231, 1758879456231, False, True, False, 1]) gunicorn-registry stdout | 2025-09-26 08:37:36,237 [250] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,241 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['f647cfe7-f327-443b-bf19-34bb0f088bc7']) gunicorn-registry stdout | 2025-09-26 08:37:36,244 [250] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:36,245 [250] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:36,245 [250] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2'} gunicorn-registry stdout | 2025-09-26 08:37:36,245 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,246 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,246 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,246 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,246 [250] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,246 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,246 [250] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,246 [250] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:36,246 [250] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:36,246 [250] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:36,246 [250] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:36,246 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,246 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,246 [250] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,246 [250] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:36,247 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,247 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,247 [250] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,247 [250] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,247 [250] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:36,247 [250] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083736Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:36,247 [250] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083736Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 5fff1432e132b3bd8e41bb4f2b1d0c3c7c586109d107fbe96d002a54417713e5 gunicorn-registry stdout | 2025-09-26 08:37:36,247 [250] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 843b6a7c51a2190737c4a33ec8cd06892bd592d8adda9291d429e514b98c0fb8 gunicorn-registry stdout | 2025-09-26 08:37:36,248 [250] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,248 [250] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:36,248 [250] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:36,332 [250] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2 HTTP/1.1" 200 580 gunicorn-registry stdout | 2025-09-26 08:37:36,332 [250] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9shl-6w5bsa-s5f', 'x-amz-id-2': 'mg0l9shl-6w5bsa-s5f', 'ETag': '"1d618db65765ad3e9325f8ce6eb88cb7-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:36 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '580', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:36 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:36,332 [250] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:36,333 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,333 [250] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:36,333 [250] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,333 [250] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9shl-6w5bsa-s5f', 'HostId': 'mg0l9shl-6w5bsa-s5f', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9shl-6w5bsa-s5f', 'x-amz-id-2': 'mg0l9shl-6w5bsa-s5f', 'etag': '"1d618db65765ad3e9325f8ce6eb88cb7-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:36 GMT', 'content-type': 'application/octet-stream', 'content-length': '580', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:36 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 36, tzinfo=tzutc()), 'ContentLength': 580, 'ETag': '"1d618db65765ad3e9325f8ce6eb88cb7-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:36,335 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [33, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,340 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['938b5a75-e801-49cd-9411-0b7aea15f99d', 'com.docker.official-images.bashbrew.arch', 's390x', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:36,343 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 33, 106]) gunicorn-registry stdout | 2025-09-26 08:37:36,347 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [33, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,351 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['9cd4d46b-8b5f-44db-b9fe-2bf9febd7bd8', 'org.opencontainers.image.base.name', 'scratch', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:36,353 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 33, 107]) gunicorn-registry stdout | 2025-09-26 08:37:36,357 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [33, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,360 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['16de248c-a227-416b-9ea1-7a8d2f3320f3', 'org.opencontainers.image.created', '2025-07-15T11:01:16Z', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:36,363 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 33, 108]) gunicorn-registry stdout | 2025-09-26 08:37:36,367 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [33, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,370 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['4e118cc5-a211-4727-a986-fd6b5e570369', 'org.opencontainers.image.revision', '01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:36,372 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 33, 109]) gunicorn-registry stdout | 2025-09-26 08:37:36,377 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [33, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,381 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['b725d1e8-53e9-4cb7-8755-3aad5eab9b9a', 'org.opencontainers.image.source', 'https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:s390x', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:36,384 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 33, 110]) gunicorn-registry stdout | 2025-09-26 08:37:36,387 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [33, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,392 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['50cafda5-0bcd-4ea3-b2dc-a54f57029e9b', 'org.opencontainers.image.url', 'https://hub.docker.com/_/alpine', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:36,394 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 33, 111]) gunicorn-registry stdout | 2025-09-26 08:37:36,399 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state" FROM "manifest" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [33, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,402 [250] [DEBUG] [peewee] ('INSERT INTO "label" ("uuid", "key", "value", "media_type_id", "source_type_id") VALUES (%s, %s, %s, %s, %s) RETURNING "label"."id"', ['64b75678-b327-446f-a8a4-c171809317e4', 'org.opencontainers.image.version', '3.22.1', 1, 1]) gunicorn-registry stdout | 2025-09-26 08:37:36,404 [250] [DEBUG] [peewee] ('INSERT INTO "manifestlabel" ("repository_id", "manifest_id", "label_id") VALUES (%s, %s, %s) RETURNING "manifestlabel"."id"', [3, 33, 112]) gunicorn-registry stdout | 2025-09-26 08:37:36,408 [250] [DEBUG] [app] Ending request: urn:request:a4e6c6bd-7a6d-4473-97bf-f72c1bb0976b (/v2/testorg2/alpine/manifests/sha256:9e7331b8f4bbe798fca28aac7f6844896b436984b3412076e2890069b3ef397e) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:a4e6c6bd-7a6d-4473-97bf-f72c1bb0976b', 'remote_addr': '10.129.4.11', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/manifests/sha256:9e7331b8f4bbe798fca28aac7f6844896b436984b3412076e2890069b3ef397e', 'path': '/v2/testorg2/alpine/manifests/sha256:9e7331b8f4bbe798fca28aac7f6844896b436984b3412076e2890069b3ef397e', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 'size': 580}, 'layers': [{'mediaType': 'application/vnd.oci.image.layer.v1.tar+gzip', 'digest': 'sha256:5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361', 'size': 3644971}], 'annotations': {'com.docker.official-images.bashbrew.arch': 's390x', 'org.opencontainers.image.base.name': 'scratch', 'org.opencontainers.image.created': '2025-07-15T11:01:16Z', 'org.opencontainers.image.revision': '01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e', 'org.opencontainers.image.source': 'https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:s390x', 'org.opencontainers.image.url': 'https://hub.docker.com/_/alpine', 'org.opencontainers.image.version': '3.22.1'}}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:36,409 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:36,409 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:36,409 [250] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:37:36 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:9e7331b8f4bbe798fca28aac7f6844896b436984b3412076e2890069b3ef397e HTTP/1.1" 201 2 "-" "skopeo/1.14.5" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:36 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:9e7331b8f4bbe798fca28aac7f6844896b436984b3412076e2890069b3ef397e HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.213 2845 0.213) notificationworker stdout | 2025-09-26 08:37:36,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:37:36,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:46.440077+00:00 (in 9.999556 seconds) notificationworker stdout | 2025-09-26 08:37:36,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:46 GMT)" (scheduled at 2025-09-26 08:37:36.440077+00:00) notificationworker stdout | 2025-09-26 08:37:36,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:37:36,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 37, 36, 440828), True, datetime.datetime(2025, 9, 26, 8, 37, 36, 440828), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:37:36,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:37:36,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:37:36,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:46 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:37:36,596 [257] [DEBUG] [app] Starting request: urn:request:cc295cc8-b928-4593-bc2a-16b73de8515c (/v2/testorg2/alpine/blobs/sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:36,596 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:36,596 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:36,596 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:36,597 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:36,597 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:36,597 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:36,597 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:36,597 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:36,598 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,603 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,606 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:36,606 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8_2 gunicorn-registry stdout | 2025-09-26 08:37:36,607 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:36,608 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,611 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,615 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,619 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,623 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,627 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8_2: None gunicorn-registry stdout | 2025-09-26 08:37:36,627 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8_2: None gunicorn-registry stdout | 2025-09-26 08:37:36,627 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:36,627 [257] [DEBUG] [app] Ending request: urn:request:cc295cc8-b928-4593-bc2a-16b73de8515c (/v2/testorg2/alpine/blobs/sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:cc295cc8-b928-4593-bc2a-16b73de8515c', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8', 'path': '/v2/testorg2/alpine/blobs/sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:36,628 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:36,628 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:36,628 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:36 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:36 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.033 1718 0.033) gunicorn-registry stdout | 2025-09-26 08:37:36,738 [254] [DEBUG] [app] Starting request: urn:request:1ee1d08e-6990-4430-9bf3-74dcbb72f67b (/v2/testorg2/alpine/blobs/sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:36,739 [254] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:36,739 [254] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:36,739 [254] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:36,740 [254] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:36,740 [254] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:36,740 [254] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:36,740 [254] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:36,740 [254] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:36,741 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,745 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,749 [254] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:36,749 [254] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8_2 gunicorn-registry stdout | 2025-09-26 08:37:36,749 [254] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:36,750 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,754 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,757 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,762 [254] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,766 [254] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,769 [254] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8_2: None gunicorn-registry stdout | 2025-09-26 08:37:36,769 [254] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8_2: None gunicorn-registry stdout | 2025-09-26 08:37:36,770 [254] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:36,770 [254] [DEBUG] [app] Ending request: urn:request:1ee1d08e-6990-4430-9bf3-74dcbb72f67b (/v2/testorg2/alpine/blobs/sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:1ee1d08e-6990-4430-9bf3-74dcbb72f67b', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8', 'path': '/v2/testorg2/alpine/blobs/sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:36,770 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:36,770 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:36,770 [254] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:36 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:36 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8 HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.032 1718 0.032) gunicorn-registry stdout | 2025-09-26 08:37:36,810 [256] [DEBUG] [app] Starting request: urn:request:4d4de3cc-2cd4-4077-b7be-f78714a99a17 (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:36,810 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:36,810 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:36,810 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:36,811 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:36,811 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:36,812 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:36,812 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:36,812 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:36,813 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,817 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,820 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,824 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,828 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,831 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,835 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:36,838 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,842 [256] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, '0e4807f3-a89f-40cd-9b83-38eb3b477b02', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 36, 842426)]) gunicorn-registry stdout | 2025-09-26 08:37:36,847 [256] [DEBUG] [app] Ending request: urn:request:4d4de3cc-2cd4-4077-b7be-f78714a99a17 (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:4d4de3cc-2cd4-4077-b7be-f78714a99a17', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:36,847 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:36,847 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:36,847 [256] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:36 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:36 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.038 1697 0.038) gunicorn-registry stdout | 2025-09-26 08:37:36,887 [257] [DEBUG] [app] Starting request: urn:request:b2891658-9a51-4621-817e-d06b63d5309b (/v2/testorg2/alpine/blobs/uploads/0e4807f3-a89f-40cd-9b83-38eb3b477b02) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:36,888 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '0e4807f3-a89f-40cd-9b83-38eb3b477b02', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:36,888 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:36,888 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:36,889 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:36,890 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:36,890 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:36,890 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:36,890 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:36,891 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,895 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,899 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,902 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,906 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,909 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,913 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,916 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) autopruneworker stdout | 2025-09-26 08:37:36,917 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} gunicorn-registry stdout | 2025-09-26 08:37:36,920 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0e4807f3-a89f-40cd-9b83-38eb3b477b02', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:36,923 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:36,923 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:36,924 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:36,925 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:36,925 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:36,925 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,925 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,925 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,925 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,925 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,925 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,925 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,925 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,925 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:36,925 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:36,925 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:36,925 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:36,926 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,926 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,926 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,926 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:36,926 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,926 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,926 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,926 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,926 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:36,926 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8 gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083736Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:36,926 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083736Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 794882a51281e8d351e5dec676d56fd29a412ee1cbd47264fd38159d6693b349 gunicorn-registry stdout | 2025-09-26 08:37:36,926 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 1a2f5101729bf9634e7cf2345c7531fd634656435bf70fc13ae315c48ff635c2 gunicorn-registry stdout | 2025-09-26 08:37:36,927 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,927 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:36,927 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:36,932 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:36,932 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9t0g-1ktifd-g5v', 'x-amz-id-2': 'mg0l9t0g-1ktifd-g5v', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:36 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:36,932 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b868d650d0d73ec60008f93605' gunicorn-registry stdout | 2025-09-26 08:37:36,932 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,933 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:36,933 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,933 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9t0g-1ktifd-g5v', 'HostId': 'mg0l9t0g-1ktifd-g5v', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9t0g-1ktifd-g5v', 'x-amz-id-2': 'mg0l9t0g-1ktifd-g5v', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:36 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8', 'UploadId': '68d650d0d73ec60008f93605'} gunicorn-registry stdout | 2025-09-26 08:37:36,933 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:36,933 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUploadPart gunicorn-registry stdout | 2025-09-26 08:37:36,933 [257] [DEBUG] [boto3.resources.model] Renaming MultipartUploadPart attribute part_number gunicorn-registry stdout | 2025-09-26 08:37:36,934 [257] [DEBUG] [boto3.resources.action] Calling s3:upload_part with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8', 'UploadId': '68d650d0d73ec60008f93605', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc601d0>, 'ContentLength': 5678} gunicorn-registry stdout | 2025-09-26 08:37:36,934 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,934 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,934 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,934 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,934 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,934 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,934 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,934 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,934 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:36,934 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:36,934 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:36,934 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:36,935 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,935 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,935 [257] [DEBUG] [botocore.handlers] Adding expect 100 continue header to request. gunicorn-registry stdout | 2025-09-26 08:37:36,935 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,935 [257] [DEBUG] [botocore.hooks] Event before-call.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,935 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=UploadPart) with params: {'url_path': '/datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8', 'query_string': {'uploadId': '68d650d0d73ec60008f93605', 'partNumber': 1}, 'method': 'PUT', 'headers': {'Content-Length': '5678', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource', 'Content-MD5': '3JFrpQaxbs7VnrT8pgA2hQ==', 'Expect': '100-continue'}, 'body': <_io.BytesIO object at 0x7fc50dc601d0>, 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8?uploadId=68d650d0d73ec60008f93605&partNumber=1', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': True, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8', 'UploadId': '68d650d0d73ec60008f93605', 'PartNumber': 1, 'Body': <_io.BytesIO object at 0x7fc50dc601d0>, 'ContentLength': 5678}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:36,935 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,935 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:36,935 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,935 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,935 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:36,935 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8 gunicorn-registry stdout | partNumber=1&uploadId=68d650d0d73ec60008f93605 gunicorn-registry stdout | content-length:5678 gunicorn-registry stdout | content-md5:3JFrpQaxbs7VnrT8pgA2hQ== gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:UNSIGNED-PAYLOAD gunicorn-registry stdout | x-amz-date:20250926T083736Z gunicorn-registry stdout | content-length;content-md5;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | UNSIGNED-PAYLOAD gunicorn-registry stdout | 2025-09-26 08:37:36,935 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083736Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 4982ff2c317e577ee367e99b75ff1df153df0cc9fd5fdd7b561c8d6425c2527e gunicorn-registry stdout | 2025-09-26 08:37:36,935 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 726b6fe256f8a89486a8e29b911390f1403637bd8d32925a81cac213d01f0033 gunicorn-registry stdout | 2025-09-26 08:37:36,936 [257] [DEBUG] [botocore.hooks] Event request-created.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:36,936 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:36,936 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:36,936 [257] [DEBUG] [botocore.awsrequest] Waiting for 100 Continue response. gunicorn-registry stdout | 2025-09-26 08:37:36,937 [257] [DEBUG] [botocore.awsrequest] 100 Continue response seen, now sending request body. gunicorn-registry stdout | 2025-09-26 08:37:37,019 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8?uploadId=68d650d0d73ec60008f93605&partNumber=1 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:37,019 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9t0p-1q3zf0-1yi', 'x-amz-id-2': 'mg0l9t0p-1q3zf0-1yi', 'ETag': '"dc916ba506b16eced59eb4fca6003685"', 'Date': 'Fri, 26 Sep 2025 08:37:37 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5', 'Content-Length': '0'} gunicorn-registry stdout | 2025-09-26 08:37:37,019 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:37,019 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,019 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:37,019 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.UploadPart: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,020 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9t0p-1q3zf0-1yi', 'HostId': 'mg0l9t0p-1q3zf0-1yi', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9t0p-1q3zf0-1yi', 'x-amz-id-2': 'mg0l9t0p-1q3zf0-1yi', 'etag': '"dc916ba506b16eced59eb4fca6003685"', 'date': 'Fri, 26 Sep 2025 08:37:37 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5', 'content-length': '0'}, 'RetryAttempts': 0}, 'ETag': '"dc916ba506b16eced59eb4fca6003685"'} gunicorn-registry stdout | 2025-09-26 08:37:37,020 [257] [DEBUG] [boto3.resources.action] Calling s3:complete_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8', 'UploadId': '68d650d0d73ec60008f93605', 'MultipartUpload': {'Parts': [{'ETag': '"dc916ba506b16eced59eb4fca6003685"', 'PartNumber': 1}]}} gunicorn-registry stdout | 2025-09-26 08:37:37,020 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,020 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,020 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,020 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,020 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,020 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,020 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,021 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:37,021 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:37,021 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:37,021 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:37,021 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,021 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,021 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,021 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CompleteMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8', 'query_string': {'uploadId': '68d650d0d73ec60008f93605'}, 'method': 'POST', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'"dc916ba506b16eced59eb4fca6003685"1', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8?uploadId=68d650d0d73ec60008f93605', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8', 'UploadId': '68d650d0d73ec60008f93605', 'MultipartUpload': {'Parts': [{'ETag': '"dc916ba506b16eced59eb4fca6003685"', 'PartNumber': 1}]}}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:37,021 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,021 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,021 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,021 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,022 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:37,022 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8 gunicorn-registry stdout | uploadId=68d650d0d73ec60008f93605 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:699bccd717ee8f4f444b7c286a099018e7334b7fe4c734bfd48947af9a139ed8 gunicorn-registry stdout | x-amz-date:20250926T083737Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | 699bccd717ee8f4f444b7c286a099018e7334b7fe4c734bfd48947af9a139ed8 gunicorn-registry stdout | 2025-09-26 08:37:37,022 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083737Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | c8c17ffe8788ae8e98e8ad996beb5d10f2dd3c13428bad137400ef295dbf497f gunicorn-registry stdout | 2025-09-26 08:37:37,022 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 488f73540507443db30b2828755b131aa24595cc1471ab0f2f866ccab705cd53 gunicorn-registry stdout | 2025-09-26 08:37:37,022 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,022 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:37,022 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:37,036 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8?uploadId=68d650d0d73ec60008f93605 HTTP/1.1" 200 525 gunicorn-registry stdout | 2025-09-26 08:37:37,037 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9t33-35jssi-ph2', 'x-amz-id-2': 'mg0l9t33-35jssi-ph2', 'Content-Type': 'application/xml', 'Content-Length': '525', 'Date': 'Fri, 26 Sep 2025 08:37:37 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:37,037 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8"442d293bab46026a8aa6fa3e64f00064-1"/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8?uploadId=68d650d0d73ec60008f93605' gunicorn-registry stdout | 2025-09-26 08:37:37,037 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,037 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,037 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:37,037 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CompleteMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,037 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9t33-35jssi-ph2', 'HostId': 'mg0l9t33-35jssi-ph2', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9t33-35jssi-ph2', 'x-amz-id-2': 'mg0l9t33-35jssi-ph2', 'content-type': 'application/xml', 'content-length': '525', 'date': 'Fri, 26 Sep 2025 08:37:37 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Location': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8?uploadId=68d650d0d73ec60008f93605', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8', 'ETag': '"442d293bab46026a8aa6fa3e64f00064-1"'} gunicorn-registry stdout | 2025-09-26 08:37:37,038 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:37,039 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:37,040 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 5678 bytes to blob 0e4807f3-a89f-40cd-9b83-38eb3b477b02 took 0.1160745620727539 seconds gunicorn-registry stdout | 2025-09-26 08:37:37,040 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['0e4807f3-a89f-40cd-9b83-38eb3b477b02', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,045 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '0e4807f3-a89f-40cd-9b83-38eb3b477b02', 5678, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwL21vYnlwcm9qZWN0Lm9yZy9idWlsZGtpdEB2MSNoZXJtZXRpYyI6dHJ1ZX19fTQ5NzF9XV19fSwiaHR0cHM6Ly4AAAAAAAAAALAAAAAAAAAl/YVwBbAe7wVbjnWjzFI98IsV64aBRVs3Q7X22uonuJRiLg==', 9, '{"chunks": [["uploads/4dd7d463-20ac-4af9-92d8-12f637bd25b8", 0, 5678]]}', 1, None, datetime.datetime(2025, 9, 26, 8, 37, 36, 842426), None, None, 84]) gunicorn-registry stdout | 2025-09-26 08:37:37,049 [257] [DEBUG] [app] Ending request: urn:request:b2891658-9a51-4621-817e-d06b63d5309b (/v2/testorg2/alpine/blobs/uploads/0e4807f3-a89f-40cd-9b83-38eb3b477b02) {'endpoint': 'v2.upload_chunk', 'request_id': 'urn:request:b2891658-9a51-4621-817e-d06b63d5309b', 'remote_addr': '10.131.2.20', 'http_method': 'PATCH', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/0e4807f3-a89f-40cd-9b83-38eb3b477b02', 'path': '/v2/testorg2/alpine/blobs/uploads/0e4807f3-a89f-40cd-9b83-38eb3b477b02', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:37,050 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:37,050 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:37,050 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:37 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/0e4807f3-a89f-40cd-9b83-38eb3b477b02 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:37 +0000] "PATCH /v2/testorg2/alpine/blobs/uploads/0e4807f3-a89f-40cd-9b83-38eb3b477b02 HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.164 7455 0.163) gunicorn-registry stdout | 2025-09-26 08:37:37,055 [254] [DEBUG] [app] Starting request: urn:request:7519b393-7725-4ce3-8419-70731b48fe35 (/v2/testorg2/alpine/blobs/uploads/8257342b-43f1-46a7-a268-f70d98b629c0) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:37,055 [254] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '8257342b-43f1-46a7-a268-f70d98b629c0', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:37,055 [254] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:37,055 [254] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:37,056 [254] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:37,056 [254] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:37,056 [254] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:37,056 [254] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:37,057 [254] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:37,057 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,064 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,067 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,071 [254] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,075 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,079 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,082 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,086 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:37,090 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['8257342b-43f1-46a7-a268-f70d98b629c0', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,094 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:37,094 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:37,094 [254] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:37,095 [254] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:37,095 [254] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/fee6127d-fdd6-4aa4-9504-23f022f8b5ce', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/fee6127d-fdd6-4aa4-9504-23f022f8b5ce?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fee6127d-fdd6-4aa4-9504-23f022f8b5ce', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fee6127d-fdd6-4aa4-9504-23f022f8b5ce?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/fee6127d-fdd6-4aa4-9504-23f022f8b5ce', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,096 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,097 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:37,097 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fee6127d-fdd6-4aa4-9504-23f022f8b5ce gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083737Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:37,097 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083737Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | b3bf6b1e5543a7d3f76d6e85c5d1a922ac3f8b89541a32c549990b22940bb3c2 gunicorn-registry stdout | 2025-09-26 08:37:37,097 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 5fa15796b71b8f5f79d8f3415c0b97e7f1fb20515663843a253e5cede15e2810 gunicorn-registry stdout | 2025-09-26 08:37:37,097 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,097 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:37,097 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:37,103 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fee6127d-fdd6-4aa4-9504-23f022f8b5ce?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:37,104 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9t56-4ebapo-1drq', 'x-amz-id-2': 'mg0l9t56-4ebapo-1drq', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:37 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:37,104 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/fee6127d-fdd6-4aa4-9504-23f022f8b5ce68d650d1d73ec60008f9360e' gunicorn-registry stdout | 2025-09-26 08:37:37,104 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,104 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:37,104 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,104 [254] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9t56-4ebapo-1drq', 'HostId': 'mg0l9t56-4ebapo-1drq', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9t56-4ebapo-1drq', 'x-amz-id-2': 'mg0l9t56-4ebapo-1drq', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:37 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/fee6127d-fdd6-4aa4-9504-23f022f8b5ce', 'UploadId': '68d650d1d73ec60008f9360e'} gunicorn-registry stdout | 2025-09-26 08:37:37,104 [254] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:37,105 [254] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/fee6127d-fdd6-4aa4-9504-23f022f8b5ce', 'UploadId': '68d650d1d73ec60008f9360e'} gunicorn-registry stdout | 2025-09-26 08:37:37,105 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,105 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,105 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,105 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,105 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,105 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,105 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:37,105 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:37,105 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:37,105 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:37,105 [254] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,105 [254] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,105 [254] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,105 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/fee6127d-fdd6-4aa4-9504-23f022f8b5ce', 'query_string': {'uploadId': '68d650d1d73ec60008f9360e'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fee6127d-fdd6-4aa4-9504-23f022f8b5ce', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fee6127d-fdd6-4aa4-9504-23f022f8b5ce?uploadId=68d650d1d73ec60008f9360e', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/fee6127d-fdd6-4aa4-9504-23f022f8b5ce', 'UploadId': '68d650d1d73ec60008f9360e'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:37,105 [254] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,106 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,106 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,106 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,106 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:37,106 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fee6127d-fdd6-4aa4-9504-23f022f8b5ce gunicorn-registry stdout | uploadId=68d650d1d73ec60008f9360e gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083737Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:37,106 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083737Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 62a40b0b5009e6b623eb8a753e4ca041dce636fa82551c785ce870163c004c75 gunicorn-registry stdout | 2025-09-26 08:37:37,106 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 7c09fdc7c1567d4c71144ea0d824ca9243942549b52d75f0fb901e921f9082b8 gunicorn-registry stdout | 2025-09-26 08:37:37,106 [254] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,106 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:37,106 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:37,114 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/fee6127d-fdd6-4aa4-9504-23f022f8b5ce?uploadId=68d650d1d73ec60008f9360e HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:37,114 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9t5g-4k7925-r1j', 'x-amz-id-2': 'mg0l9t5g-4k7925-r1j', 'Date': 'Fri, 26 Sep 2025 08:37:37 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:37,114 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:37,115 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,115 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:37,115 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,115 [254] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9t5g-4k7925-r1j', 'HostId': 'mg0l9t5g-4k7925-r1j', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9t5g-4k7925-r1j', 'x-amz-id-2': 'mg0l9t5g-4k7925-r1j', 'date': 'Fri, 26 Sep 2025 08:37:37 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:37,115 [254] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 8257342b-43f1-46a7-a268-f70d98b629c0 took 0.020767688751220703 seconds gunicorn-registry stdout | 2025-09-26 08:37:37,115 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['8257342b-43f1-46a7-a268-f70d98b629c0', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,119 [254] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '8257342b-43f1-46a7-a268-f70d98b629c0', 79005, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwaGlwVHlwZSI6IkdFTkVSQVRFRF9GUk9NIn1dfX1iMjIxNTNmYzZhNGY4ZWM5NmRkMTM1OCIsInJlbGF0aW9ucx0AAAAAAAAAAKQJAAAAAADsbNrTdoxwUmDNeWzir9Toh36mhrWYk7E7B4A8NMuuT5RiLg==', 9, '{"chunks": [["uploads/4ece9ebe-3ed5-44d8-ae9a-146ca9358c10", 0, 79005]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 36, 792151), None, None, 83]) gunicorn-registry stdout | 2025-09-26 08:37:37,124 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:37,124 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:37,124 [254] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:37,125 [254] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:37,125 [254] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/8d/8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb'} gunicorn-registry stdout | 2025-09-26 08:37:37,125 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,125 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,125 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,125 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,125 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,125 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,125 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,125 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:37,125 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:37,125 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:37,125 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:37,126 [254] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,126 [254] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,126 [254] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,126 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/8d/8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8d/8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8d/8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/8d/8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:37,126 [254] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,126 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,126 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,126 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,126 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:37,126 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8d/8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083737Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:37,126 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083737Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 5ddda325007eed6542669f36f874929d4859e5cc78d1cf0f190851bf231afb59 gunicorn-registry stdout | 2025-09-26 08:37:37,126 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 7e06161c0034bf7d57cebf10526e5f802176dfbb72256c22b5eafbe3679e16a0 gunicorn-registry stdout | 2025-09-26 08:37:37,126 [254] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,126 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:37,127 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:37,131 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8d/8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:37,131 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9t5z-4vllry-7ar', 'x-amz-id-2': 'mg0l9t5z-4vllry-7ar', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:37 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:37,131 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:37,131 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,131 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:37,131 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,131 [254] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:37,131 [254] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:37,131 [254] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/8d/8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb gunicorn-registry stdout | 2025-09-26 08:37:37,132 [254] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:37,132 [254] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:37,132 [254] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:37,132 [254] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:37,132 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,132 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,132 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,132 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,132 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,133 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,133 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,133 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:37,133 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:37,133 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:37,133 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:37,133 [254] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,133 [254] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,133 [254] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,133 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/4ece9ebe-3ed5-44d8-ae9a-146ca9358c10', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4ece9ebe-3ed5-44d8-ae9a-146ca9358c10', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4ece9ebe-3ed5-44d8-ae9a-146ca9358c10', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/4ece9ebe-3ed5-44d8-ae9a-146ca9358c10'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:37,133 [254] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,133 [254] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,133 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,134 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,134 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,134 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:37,134 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4ece9ebe-3ed5-44d8-ae9a-146ca9358c10 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083737Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:37,134 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083737Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | eace0dcad2aaeec1783e7d55053aa2658fe0833e9333ea95e7e5696de52ff1bc gunicorn-registry stdout | 2025-09-26 08:37:37,134 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | d66fc5376f08a705a85a39e0b9f947c4793a195f365b6c2826d66ae43fceae7f gunicorn-registry stdout | 2025-09-26 08:37:37,134 [254] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,134 [254] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,134 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:37,134 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:37,138 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4ece9ebe-3ed5-44d8-ae9a-146ca9358c10 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:37,138 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9t67-5039vn-1bsa', 'x-amz-id-2': 'mg0l9t67-5039vn-1bsa', 'ETag': '"e6bbd52a3ee88fbce5a0b34db1b4c9c1-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:37 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '79005', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:37 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:37,138 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:37,138 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,139 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:37,139 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,139 [254] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/8d/8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:37,139 [254] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:37,139 [254] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/8d/8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:37,139 [254] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/8d/8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:37,139 [254] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/8d/8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/4ece9ebe-3ed5-44d8-ae9a-146ca9358c10'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/8d/8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb', 'extra_args': {}, 'callbacks': [], 'size': 79005} gunicorn-registry stdout | 2025-09-26 08:37:37,139 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,139 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,139 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,139 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,139 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,139 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,139 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,139 [254] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,139 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,139 [254] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,140 [254] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:37,140 [254] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:37,140 [254] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:37,140 [254] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:37,140 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,140 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,140 [254] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,140 [254] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/8d/8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4ece9ebe-3ed5-44d8-ae9a-146ca9358c10', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8d/8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8d/8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4ece9ebe-3ed5-44d8-ae9a-146ca9358c10', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/8d/8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:37,141 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,141 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,141 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,141 [254] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,141 [254] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,141 [254] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:37,141 [254] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8d/8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/4ece9ebe-3ed5-44d8-ae9a-146ca9358c10 gunicorn-registry stdout | x-amz-date:20250926T083737Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:37,141 [254] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083737Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | d8850b270197d85351f89b37582b5b853affc4b19e9c71c06e7774a7ef917dd6 gunicorn-registry stdout | 2025-09-26 08:37:37,141 [254] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | b8c95ef14862f363b21ddd7077b304c491f9a9ad7398ce3c7a6f8d5d5cce56ad gunicorn-registry stdout | 2025-09-26 08:37:37,141 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,141 [254] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,141 [254] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:37,142 [254] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:37,142 [254] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:37,168 [254] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8d/8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:37,168 [254] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9t6f-54ooea-17g5', 'x-amz-id-2': 'mg0l9t6f-54ooea-17g5', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:37 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:37,168 [254] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:37.000Z"e6bbd52a3ee88fbce5a0b34db1b4c9c1-1"' gunicorn-registry stdout | 2025-09-26 08:37:37,169 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,169 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,169 [254] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:37,169 [254] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,169 [254] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:37,169 [254] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 8257342b-43f1-46a7-a268-f70d98b629c0 with digest sha256:8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb took 0.038106679916381836 seconds gunicorn-registry stdout | 2025-09-26 08:37:37,171 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['8257342b-43f1-46a7-a268-f70d98b629c0', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,174 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,177 [254] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['5e9dbee8-af70-44b6-bc31-44d82300e0de', 79005, None, True, True, 'sha256:8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb']) gunicorn-registry stdout | 2025-09-26 08:37:37,178 [254] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [84, 9]) gunicorn-registry stdout | 2025-09-26 08:37:37,180 [254] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,182 [254] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 84, datetime.datetime(2025, 9, 26, 8, 37, 37, 182448), datetime.datetime(2025, 9, 26, 9, 37, 37, 182429)]) gunicorn-registry stdout | 2025-09-26 08:37:37,184 [254] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [83]) gunicorn-registry stdout | 2025-09-26 08:37:37,187 [254] [DEBUG] [app] Ending request: urn:request:7519b393-7725-4ce3-8419-70731b48fe35 (/v2/testorg2/alpine/blobs/uploads/8257342b-43f1-46a7-a268-f70d98b629c0) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:7519b393-7725-4ce3-8419-70731b48fe35', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/8257342b-43f1-46a7-a268-f70d98b629c0?digest=sha256:8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb', 'path': '/v2/testorg2/alpine/blobs/uploads/8257342b-43f1-46a7-a268-f70d98b629c0', 'parameters': {'digest': 'sha256:8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:37,187 [254] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:37,188 [254] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:37,188 [254] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:37 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/8257342b-43f1-46a7-a268-f70d98b629c0?digest=sha256%3A8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:37 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/8257342b-43f1-46a7-a268-f70d98b629c0?digest=sha256%3A8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.134 1853 0.134) gunicorn-registry stdout | 2025-09-26 08:37:37,328 [257] [DEBUG] [app] Starting request: urn:request:0c75767e-ccf5-47f7-bbd2-5617ae6e1eb0 (/v2/testorg2/alpine/blobs/sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:37,328 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'digest': 'sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:37,328 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:37,328 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:37,330 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:37,330 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:37,330 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:37,330 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:37,330 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:37,331 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,337 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s', ['testorg2', True, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,341 [257] [DEBUG] [endpoints.decorators] Skipping pull through proxy cache: instance matching query does not exist: gunicorn-registry stdout | SQL: SELECT "t1"."id", "t1"."organization_id", "t1"."creation_date", "t1"."upstream_registry", "t1"."upstream_registry_username", "t1"."upstream_registry_password", "t1"."expiration_s", "t1"."insecure" FROM "proxycacheconfig" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") WHERE (("t2"."username" = %s) AND ("t2"."organization" = %s)) LIMIT %s OFFSET %s gunicorn-registry stdout | Params: ['testorg2', True, 1, 0] gunicorn-registry stdout | 2025-09-26 08:37:37,341 [257] [DEBUG] [data.cache.impl] Checking cache for key repo_blob__testorg2_alpine_sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c_2 gunicorn-registry stdout | 2025-09-26 08:37:37,341 [257] [DEBUG] [data.cache.impl] Found no result in cache for key repo_blob__testorg2_alpine_sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c_2; calling loader gunicorn-registry stdout | 2025-09-26 08:37:37,343 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,347 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,351 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,356 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,359 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "manifestblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,362 [257] [DEBUG] [data.cache.impl] Got loaded result for key repo_blob__testorg2_alpine_sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c_2: None gunicorn-registry stdout | 2025-09-26 08:37:37,363 [257] [DEBUG] [data.cache.impl] Not caching loaded result for key repo_blob__testorg2_alpine_sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c_2: None gunicorn-registry stdout | 2025-09-26 08:37:37,363 [257] [DEBUG] [endpoints.v2] sending response: b'{"errors":[{"code":"BLOB_UNKNOWN","detail":{},"message":"blob unknown to registry"}]}\n' gunicorn-registry stdout | 2025-09-26 08:37:37,363 [257] [DEBUG] [app] Ending request: urn:request:0c75767e-ccf5-47f7-bbd2-5617ae6e1eb0 (/v2/testorg2/alpine/blobs/sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c) {'endpoint': 'v2.check_blob_exists', 'request_id': 'urn:request:0c75767e-ccf5-47f7-bbd2-5617ae6e1eb0', 'remote_addr': '10.131.2.20', 'http_method': 'HEAD', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'path': '/v2/testorg2/alpine/blobs/sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:37,363 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:37,363 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:37,363 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:37 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c HTTP/1.1" 404 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:37 +0000] "HEAD /v2/testorg2/alpine/blobs/sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c HTTP/1.1" 404 0 "-" "skopeo/1.14.5" (0.036 1718 0.036) gunicorn-registry stdout | 2025-09-26 08:37:37,404 [250] [DEBUG] [app] Starting request: urn:request:78dce1c0-b4f6-4f2e-b4e2-842e07e0d57c (/v2/testorg2/alpine/blobs/uploads/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:37,404 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:37,404 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:37,404 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:37,405 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:37,405 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:37,405 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:37,406 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:37,406 [250] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:37,406 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,411 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,415 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,419 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,423 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,431 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,434 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:37,438 [250] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,442 [250] [DEBUG] [peewee] ('INSERT INTO "blobupload" ("repository_id", "uuid", "byte_count", "sha_state", "location_id", "storage_metadata", "chunk_count", "created") VALUES (%s, %s, %s, %s, %s, %s, %s, %s) RETURNING "blobupload"."id"', [3, '83d1408a-de76-4294-a7d3-2ad5d1dad7ca', 0, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMfGc3gW5RiLg==', 9, '{"chunks": []}', 0, datetime.datetime(2025, 9, 26, 8, 37, 37, 441687)]) gunicorn-registry stdout | 2025-09-26 08:37:37,446 [250] [DEBUG] [app] Ending request: urn:request:78dce1c0-b4f6-4f2e-b4e2-842e07e0d57c (/v2/testorg2/alpine/blobs/uploads/) {'endpoint': 'v2.start_blob_upload', 'request_id': 'urn:request:78dce1c0-b4f6-4f2e-b4e2-842e07e0d57c', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/', 'path': '/v2/testorg2/alpine/blobs/uploads/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:37,446 [250] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:37,446 [250] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:37,447 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:37 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:37 +0000] "POST /v2/testorg2/alpine/blobs/uploads/ HTTP/1.1" 202 0 "-" "skopeo/1.14.5" (0.044 1697 0.044) gunicorn-registry stdout | 2025-09-26 08:37:37,661 [257] [DEBUG] [app] Starting request: urn:request:c49c8338-6239-4ead-8f16-af9084302f37 (/v2/testorg2/alpine/blobs/uploads/83d1408a-de76-4294-a7d3-2ad5d1dad7ca) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:37,661 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'upload_uuid': '83d1408a-de76-4294-a7d3-2ad5d1dad7ca', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:37,661 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:37,661 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:37,662 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:37,662 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:37,662 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:37,662 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:37,662 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:37,663 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed" FROM "repository" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_user_id" = "t2"."id") WHERE ((("t2"."username" = %s) AND ("t1"."name" = %s)) AND ("t1"."state" != %s)) LIMIT %s OFFSET %s', ['testorg2', 'alpine', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,667 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "visibility" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,671 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "repositorykind" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,675 [257] [DEBUG] [peewee] ('SELECT Sum("t1"."byte_count") AS "size_bytes" FROM "blobupload" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,678 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,682 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,686 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,690 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:37,693 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['83d1408a-de76-4294-a7d3-2ad5d1dad7ca', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,697 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:37,697 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:37,697 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:37,699 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:37,699 [257] [DEBUG] [boto3.resources.action] Calling s3:create_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/46bb30db-3ae4-4784-a2d2-8517949804cd', 'ContentType': 'application/octet-stream'} gunicorn-registry stdout | 2025-09-26 08:37:37,699 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,699 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,699 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,700 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,700 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,700 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,700 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,700 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,700 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:37,700 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:37,700 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:37,700 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:37,700 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,700 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,700 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,700 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CreateMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/46bb30db-3ae4-4784-a2d2-8517949804cd?uploads', 'query_string': {}, 'method': 'POST', 'headers': {'Content-Type': 'application/octet-stream', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/46bb30db-3ae4-4784-a2d2-8517949804cd', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/46bb30db-3ae4-4784-a2d2-8517949804cd?uploads', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/46bb30db-3ae4-4784-a2d2-8517949804cd', 'ContentType': 'application/octet-stream'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:37,700 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,700 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,700 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,700 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,701 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:37,701 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | POST gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/46bb30db-3ae4-4784-a2d2-8517949804cd gunicorn-registry stdout | uploads= gunicorn-registry stdout | content-type:application/octet-stream gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083737Z gunicorn-registry stdout | content-type;host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:37,701 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083737Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 25b3b77179b23e2eb93cc0b9ac1e7c30b79aeabefa201003e35e70d6614ba25b gunicorn-registry stdout | 2025-09-26 08:37:37,701 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 92258d5df25d0aaffa260ec00efbdcf764dff3a7d0e594e1035809700462167f gunicorn-registry stdout | 2025-09-26 08:37:37,701 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,701 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:37,701 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:37,707 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "POST /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/46bb30db-3ae4-4784-a2d2-8517949804cd?uploads HTTP/1.1" 200 338 gunicorn-registry stdout | 2025-09-26 08:37:37,707 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9tly-edw1gh-i0j', 'x-amz-id-2': 'mg0l9tly-edw1gh-i0j', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:37 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:37,707 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084datastorage/registry/uploads/46bb30db-3ae4-4784-a2d2-8517949804cd68d650d1d73ec60008f9361a' gunicorn-registry stdout | 2025-09-26 08:37:37,707 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,707 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:37,707 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CreateMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,707 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9tly-edw1gh-i0j', 'HostId': 'mg0l9tly-edw1gh-i0j', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9tly-edw1gh-i0j', 'x-amz-id-2': 'mg0l9tly-edw1gh-i0j', 'content-type': 'application/xml', 'content-length': '338', 'date': 'Fri, 26 Sep 2025 08:37:37 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/46bb30db-3ae4-4784-a2d2-8517949804cd', 'UploadId': '68d650d1d73ec60008f9361a'} gunicorn-registry stdout | 2025-09-26 08:37:37,707 [257] [DEBUG] [boto3.resources.factory] Loading s3:MultipartUpload gunicorn-registry stdout | 2025-09-26 08:37:37,708 [257] [DEBUG] [boto3.resources.action] Calling s3:abort_multipart_upload with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/46bb30db-3ae4-4784-a2d2-8517949804cd', 'UploadId': '68d650d1d73ec60008f9361a'} gunicorn-registry stdout | 2025-09-26 08:37:37,708 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,708 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,708 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,708 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,708 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,708 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,708 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:37,708 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:37,708 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:37,708 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:37,709 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,709 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,709 [257] [DEBUG] [botocore.hooks] Event before-call.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,709 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=AbortMultipartUpload) with params: {'url_path': '/datastorage/registry/uploads/46bb30db-3ae4-4784-a2d2-8517949804cd', 'query_string': {'uploadId': '68d650d1d73ec60008f9361a'}, 'method': 'DELETE', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/46bb30db-3ae4-4784-a2d2-8517949804cd', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/46bb30db-3ae4-4784-a2d2-8517949804cd?uploadId=68d650d1d73ec60008f9361a', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/46bb30db-3ae4-4784-a2d2-8517949804cd', 'UploadId': '68d650d1d73ec60008f9361a'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:37,709 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,709 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,709 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,709 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,709 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:37,709 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | DELETE gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/46bb30db-3ae4-4784-a2d2-8517949804cd gunicorn-registry stdout | uploadId=68d650d1d73ec60008f9361a gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083737Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:37,709 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083737Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 48564f527da5ce1b92e8af76c826819b02dca73cbbae46b75184d70503559d2d gunicorn-registry stdout | 2025-09-26 08:37:37,709 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 8667ec5e8b383332194c844ee5f407780ebec34c2aae7b1738e929e8162461b7 gunicorn-registry stdout | 2025-09-26 08:37:37,709 [257] [DEBUG] [botocore.hooks] Event request-created.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,709 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:37,710 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:37,716 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "DELETE /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/46bb30db-3ae4-4784-a2d2-8517949804cd?uploadId=68d650d1d73ec60008f9361a HTTP/1.1" 204 0 gunicorn-registry stdout | 2025-09-26 08:37:37,716 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9tm6-eir5pe-gan', 'x-amz-id-2': 'mg0l9tm6-eir5pe-gan', 'Date': 'Fri, 26 Sep 2025 08:37:37 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:37,716 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:37,716 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,716 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:37,716 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.AbortMultipartUpload: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,716 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9tm6-eir5pe-gan', 'HostId': 'mg0l9tm6-eir5pe-gan', 'HTTPStatusCode': 204, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9tm6-eir5pe-gan', 'x-amz-id-2': 'mg0l9tm6-eir5pe-gan', 'date': 'Fri, 26 Sep 2025 08:37:37 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}} gunicorn-registry stdout | 2025-09-26 08:37:37,716 [257] [DEBUG] [data.registry_model.blobuploader] Uploaded 0 bytes to blob 83d1408a-de76-4294-a7d3-2ad5d1dad7ca took 0.019156217575073242 seconds gunicorn-registry stdout | 2025-09-26 08:37:37,717 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['83d1408a-de76-4294-a7d3-2ad5d1dad7ca', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,721 [257] [DEBUG] [peewee] ('UPDATE "blobupload" SET "repository_id" = %s, "uuid" = %s, "byte_count" = %s, "sha_state" = %s, "location_id" = %s, "storage_metadata" = %s, "chunk_count" = %s, "uncompressed_byte_count" = %s, "created" = %s, "piece_sha_state" = %s, "piece_hashes" = %s WHERE ("blobupload"."id" = %s)', [3, '83d1408a-de76-4294-a7d3-2ad5d1dad7ca', 241, 'gASVlQAAAAAAAACMD3Jlc3VtYWJsZXNoYTI1NpSMBnNoYTI1NpSTlCmBlENwYTA1ZjViNDE0ZWFhMjg3MDNhZWI2MjZkYTA2NzJlODU4ZTIxMDgzZjdlMmQ4Il19fTNlMTM3ZjVkOWFmYTU2NDEAAAAAAAAAAAYAAAAAAAD/YoPo0cD4GOWnGq2MNDAb8MiuOLaTiWkbtPaZyRv03pRiLg==', 9, '{"chunks": [["uploads/e28b84e6-4ebf-4a72-8c6d-84b07e46ddc2", 0, 241]]}', 2, None, datetime.datetime(2025, 9, 26, 8, 37, 37, 441687), None, None, 85]) gunicorn-registry stdout | 2025-09-26 08:37:37,726 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:37,726 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:37,726 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:37,727 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:37,727 [257] [DEBUG] [boto3.resources.action] Calling s3:head_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c'} gunicorn-registry stdout | 2025-09-26 08:37:37,727 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,727 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,727 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,727 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,727 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,727 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,727 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,728 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:37,728 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:37,728 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:37,728 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:37,728 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,728 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,728 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,728 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:37,728 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,728 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,728 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,728 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,728 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:37,728 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083737Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:37,728 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083737Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 346d406c06dacc6d603fb436d60744670f8641aa2ee3c5423843e2108fda2d93 gunicorn-registry stdout | 2025-09-26 08:37:37,728 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 9f38fe755f6ec1f49af2088c17e851ad6a386e759710a948a6399aef6af7c7f1 gunicorn-registry stdout | 2025-09-26 08:37:37,729 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,729 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:37,729 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:37,734 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c HTTP/1.1" 404 0 gunicorn-registry stdout | 2025-09-26 08:37:37,734 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9tmq-euiwo1-j2r', 'x-amz-id-2': 'mg0l9tmq-euiwo1-j2r', 'Content-Type': 'application/xml', 'Content-Length': '338', 'Date': 'Fri, 26 Sep 2025 08:37:37 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:37,735 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:37,735 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,735 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:37,735 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,735 [257] [DEBUG] [storage.cloud] Server side assembly is set to True. gunicorn-registry stdout | 2025-09-26 08:37:37,735 [257] [DEBUG] [storage.cloud] Initiating multipart upload and server side assembly for final push. gunicorn-registry stdout | 2025-09-26 08:37:37,735 [257] [DEBUG] [storage.cloud] Performing server side assembly of multi-part upload for: sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c gunicorn-registry stdout | 2025-09-26 08:37:37,735 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:37,736 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:37,736 [257] [DEBUG] [s3transfer.tasks] CopySubmissionTask(transfer_id=0, {'transfer_future': }) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:37,736 [257] [DEBUG] [s3transfer.tasks] Executing task CopySubmissionTask(transfer_id=0, {'transfer_future': }) with kwargs {'client': , 'config': , 'osutil': , 'request_executor': , 'transfer_future': } gunicorn-registry stdout | 2025-09-26 08:37:37,736 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,736 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,736 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,736 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,736 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,736 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,737 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,737 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:37,737 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:37,737 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:37,737 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:37,737 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,737 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,737 [257] [DEBUG] [botocore.hooks] Event before-call.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,737 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=HeadObject) with params: {'url_path': '/datastorage/registry/uploads/e28b84e6-4ebf-4a72-8c6d-84b07e46ddc2', 'query_string': {}, 'method': 'HEAD', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e28b84e6-4ebf-4a72-8c6d-84b07e46ddc2', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e28b84e6-4ebf-4a72-8c6d-84b07e46ddc2', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e28b84e6-4ebf-4a72-8c6d-84b07e46ddc2'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:37,737 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,737 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,737 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,737 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,737 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,737 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:37,737 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | HEAD gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e28b84e6-4ebf-4a72-8c6d-84b07e46ddc2 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083737Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:37,738 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083737Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | d9f5f46f0779ad9279e1b8f63ec9db6d23258f2ed960070a392cda3751b2cfaa gunicorn-registry stdout | 2025-09-26 08:37:37,738 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | f05fbcab7f5690a215130acf7d74a86c9720fbc63435afba68c11e55e1e1da84 gunicorn-registry stdout | 2025-09-26 08:37:37,738 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,738 [257] [DEBUG] [botocore.hooks] Event request-created.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,738 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:37,738 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:37,743 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "HEAD /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e28b84e6-4ebf-4a72-8c6d-84b07e46ddc2 HTTP/1.1" 200 0 gunicorn-registry stdout | 2025-09-26 08:37:37,743 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9tmz-ezo7ta-znk', 'x-amz-id-2': 'mg0l9tmz-ezo7ta-znk', 'ETag': '"63472c4a7b658d4fbe924d527c3ee8f8-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:37 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:37 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:37,743 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'' gunicorn-registry stdout | 2025-09-26 08:37:37,744 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,744 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:37,744 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.HeadObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,744 [257] [DEBUG] [s3transfer.futures] Submitting task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'extra_args': {}}) to executor for transfer request: 0. gunicorn-registry stdout | 2025-09-26 08:37:37,744 [257] [DEBUG] [s3transfer.utils] Acquiring 0 gunicorn-registry stdout | 2025-09-26 08:37:37,744 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'extra_args': {}}) about to wait for the following futures [] gunicorn-registry stdout | 2025-09-26 08:37:37,744 [257] [DEBUG] [s3transfer.tasks] CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'extra_args': {}}) done waiting for dependent futures gunicorn-registry stdout | 2025-09-26 08:37:37,744 [257] [DEBUG] [s3transfer.tasks] Executing task CopyObjectTask(transfer_id=0, {'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'extra_args': {}}) with kwargs {'client': , 'copy_source': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/uploads/e28b84e6-4ebf-4a72-8c6d-84b07e46ddc2'}, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'key': 'datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'extra_args': {}, 'callbacks': [], 'size': 241} gunicorn-registry stdout | 2025-09-26 08:37:37,744 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,744 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,744 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,744 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,745 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,745 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,745 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,745 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,745 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,745 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,745 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:37,745 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:37,745 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:37,745 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:37,745 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,745 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,745 [257] [DEBUG] [botocore.hooks] Event before-call.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,745 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=CopyObject) with params: {'url_path': '/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'query_string': {}, 'method': 'PUT', 'headers': {'x-amz-copy-source': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e28b84e6-4ebf-4a72-8c6d-84b07e46ddc2', 'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'CopySource': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e28b84e6-4ebf-4a72-8c6d-84b07e46ddc2', 'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:37,746 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,746 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,746 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,746 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,746 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,746 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:37,746 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | PUT gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-copy-source:quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/uploads/e28b84e6-4ebf-4a72-8c6d-84b07e46ddc2 gunicorn-registry stdout | x-amz-date:20250926T083737Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-copy-source;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:37,746 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083737Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 89d46db43de3d71279bc5fff4935cc5e950c872fbfb6fcc8604dd2218b1082a4 gunicorn-registry stdout | 2025-09-26 08:37:37,746 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6265f6634271bd2dc15950a54ad617783e935bc342145fe113f73eb9970ccd06 gunicorn-registry stdout | 2025-09-26 08:37:37,746 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,746 [257] [DEBUG] [botocore.hooks] Event request-created.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,746 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:37,747 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:37,747 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:37,772 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "PUT /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c HTTP/1.1" 200 235 gunicorn-registry stdout | 2025-09-26 08:37:37,772 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9tn8-f50f43-bnj', 'x-amz-id-2': 'mg0l9tn8-f50f43-bnj', 'Content-Type': 'application/xml', 'Content-Length': '235', 'Date': 'Fri, 26 Sep 2025 08:37:37 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:37,772 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | b'2025-09-26T08:37:37.000Z"63472c4a7b658d4fbe924d527c3ee8f8-1"' gunicorn-registry stdout | 2025-09-26 08:37:37,773 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,773 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,773 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:37,773 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.CopyObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,773 [257] [DEBUG] [s3transfer.utils] Releasing acquire 0/None gunicorn-registry stdout | 2025-09-26 08:37:37,773 [257] [DEBUG] [data.registry_model.blobuploader] Completed chunked upload for blob 83d1408a-de76-4294-a7d3-2ad5d1dad7ca with digest sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c took 0.038521528244018555 seconds gunicorn-registry stdout | 2025-09-26 08:37:37,774 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."uuid", "t1"."byte_count", "t1"."sha_state", "t1"."location_id", "t1"."storage_metadata", "t1"."chunk_count", "t1"."uncompressed_byte_count", "t1"."created", "t1"."piece_sha_state", "t1"."piece_hashes", "t2"."id", "t2"."name" FROM "blobupload" AS "t1" INNER JOIN "imagestoragelocation" AS "t2" ON ("t1"."location_id" = "t2"."id") WHERE ("t1"."uuid" = %s) LIMIT %s OFFSET %s', ['83d1408a-de76-4294-a7d3-2ad5d1dad7ca', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,777 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."image_size", "t1"."uncompressed_size", "t1"."uploading", "t1"."cas_path", "t1"."content_checksum" FROM "imagestorage" AS "t1" WHERE ("t1"."content_checksum" = %s) LIMIT %s OFFSET %s', ['sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,779 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorage" ("uuid", "image_size", "uncompressed_size", "uploading", "cas_path", "content_checksum") VALUES (%s, %s, %s, %s, %s, %s) RETURNING "imagestorage"."id"', ['37f91066-f5b2-4e81-92b5-371c0ef960d9', 241, None, True, True, 'sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c']) gunicorn-registry stdout | 2025-09-26 08:37:37,781 [257] [DEBUG] [peewee] ('INSERT INTO "imagestorageplacement" ("storage_id", "location_id") VALUES (%s, %s) RETURNING "imagestorageplacement"."id"', [86, 9]) gunicorn-registry stdout | 2025-09-26 08:37:37,782 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."name", "t1"."visibility_id", "t1"."description", "t1"."badge_token", "t1"."kind_id", "t1"."trust_enabled", "t1"."state" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,784 [257] [DEBUG] [peewee] ('INSERT INTO "uploadedblob" ("repository_id", "blob_id", "uploaded_at", "expires_at") VALUES (%s, %s, %s, %s) RETURNING "uploadedblob"."id"', [3, 86, datetime.datetime(2025, 9, 26, 8, 37, 37, 784004), datetime.datetime(2025, 9, 26, 9, 37, 37, 783987)]) gunicorn-registry stdout | 2025-09-26 08:37:37,786 [257] [DEBUG] [peewee] ('DELETE FROM "blobupload" WHERE ("blobupload"."id" = %s)', [85]) gunicorn-registry stdout | 2025-09-26 08:37:37,790 [257] [DEBUG] [app] Ending request: urn:request:c49c8338-6239-4ead-8f16-af9084302f37 (/v2/testorg2/alpine/blobs/uploads/83d1408a-de76-4294-a7d3-2ad5d1dad7ca) {'endpoint': 'v2.monolithic_upload_or_last_chunk', 'request_id': 'urn:request:c49c8338-6239-4ead-8f16-af9084302f37', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/blobs/uploads/83d1408a-de76-4294-a7d3-2ad5d1dad7ca?digest=sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'path': '/v2/testorg2/alpine/blobs/uploads/83d1408a-de76-4294-a7d3-2ad5d1dad7ca', 'parameters': {'digest': 'sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:37,790 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:37,790 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:37,790 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:37 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/83d1408a-de76-4294-a7d3-2ad5d1dad7ca?digest=sha256%3A3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c HTTP/1.1" 201 0 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:37 +0000] "PUT /v2/testorg2/alpine/blobs/uploads/83d1408a-de76-4294-a7d3-2ad5d1dad7ca?digest=sha256%3A3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c HTTP/1.1" 201 0 "-" "skopeo/1.14.5" (0.130 1853 0.130) gunicorn-registry stdout | 2025-09-26 08:37:37,858 [256] [DEBUG] [app] Starting request: urn:request:f3b1d602-93be-4995-bc79-0c9dddb2b394 (/v2/testorg2/alpine/manifests/sha256:0df49d0e46a24f094d82b5fe5cb961d1c413640031745d802a4e82d50d8a50bb) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:37,859 [256] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'sha256:0df49d0e46a24f094d82b5fe5cb961d1c413640031745d802a4e82d50d8a50bb', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:37,859 [256] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:37,859 [256] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:37,860 [256] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:37,860 [256] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:37,860 [256] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:37,860 [256] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:37,860 [256] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:37,861 [256] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:37,862 [256] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:37,862 [256] [DEBUG] [data.cache.impl] Found result in cache for key repository_lookup_testorg2_alpine: {'id': 3, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': 0, 'namespace_user': {'stripe_id': None}} gunicorn-registry stdout | 2025-09-26 08:37:37,863 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:0df49d0e46a24f094d82b5fe5cb961d1c413640031745d802a4e82d50d8a50bb', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,868 [256] [DEBUG] [peewee] ('(SELECT * FROM (SELECT "t1"."id", "t1"."content_checksum", "t1"."image_size", "t1"."uuid", "t1"."cas_path", "t1"."uncompressed_size" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s) AS "q0") UNION ALL ((SELECT * FROM (SELECT "t3"."id", "t3"."content_checksum", "t3"."image_size", "t3"."uuid", "t3"."cas_path", "t3"."uncompressed_size" FROM "imagestorage" AS "t3" INNER JOIN "uploadedblob" AS "t4" ON ("t4"."blob_id" = "t3"."id") WHERE (("t4"."repository_id" = %s) AND ("t3"."content_checksum" = %s)) LIMIT %s) AS "q1") UNION ALL (SELECT * FROM (SELECT "t5"."id", "t5"."content_checksum", "t5"."image_size", "t5"."uuid", "t5"."cas_path", "t5"."uncompressed_size" FROM "imagestorage" AS "t5" INNER JOIN "uploadedblob" AS "t6" ON ("t6"."blob_id" = "t5"."id") WHERE (("t6"."repository_id" = %s) AND ("t5"."content_checksum" = %s)) LIMIT %s) AS "q2"))', [3, 'sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 1, 3, 'sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8', 1, 3, 'sha256:8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb', 1]) gunicorn-registry stdout | 2025-09-26 08:37:37,874 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:0df49d0e46a24f094d82b5fe5cb961d1c413640031745d802a4e82d50d8a50bb', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,878 [256] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [3, 'sha256:0df49d0e46a24f094d82b5fe5cb961d1c413640031745d802a4e82d50d8a50bb', 18, '{\n "schemaVersion": 2,\n "mediaType": "application/vnd.oci.image.manifest.v1+json",\n "config": {\n "mediaType": "application/vnd.oci.image.config.v1+json",\n "digest": "sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c",\n "size": 241\n },\n "layers": [\n {\n "mediaType": "application/vnd.in-toto+json",\n "digest": "sha256:8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb",\n "size": 79005,\n "annotations": {\n "in-toto.io/predicate-type": "https://spdx.dev/Document"\n }\n },\n {\n "mediaType": "application/vnd.in-toto+json",\n "digest": "sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8",\n "size": 5678,\n "annotations": {\n "in-toto.io/predicate-type": "https://slsa.dev/provenance/v0.2"\n }\n }\n ]\n}', 'application/vnd.oci.image.config.v1+json', 84683, None, True, None, True]) gunicorn-registry stdout | 2025-09-26 08:37:37,880 [256] [DEBUG] [peewee] ('INSERT INTO "manifestblob" ("repository_id", "manifest_id", "blob_id") VALUES (%s, %s, %s), (%s, %s, %s), (%s, %s, %s) RETURNING "manifestblob"."id"', [3, 34, 84, 3, 34, 85, 3, 34, 86]) gunicorn-registry stdout | 2025-09-26 08:37:37,882 [256] [DEBUG] [peewee] ('SELECT "t1"."namespace_user_id" FROM "repository" AS "t1" WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,883 [256] [DEBUG] [peewee] ('SELECT 1 FROM "user" AS "t1" WHERE ((("t1"."id" = %s) AND "t1"."enabled") AND NOT "t1"."robot") LIMIT %s', [4, 1]) gunicorn-registry stdout | 2025-09-26 08:37:37,885 [256] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 86, 34, 1]) gunicorn-registry stdout | 2025-09-26 08:37:37,886 [256] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 85, 34, 1]) gunicorn-registry stdout | 2025-09-26 08:37:37,888 [256] [DEBUG] [peewee] ('SELECT 1 FROM "manifestblob" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") WHERE ((("t2"."namespace_user_id" = %s) AND ("t1"."blob_id" = %s)) AND ("t1"."manifest_id" != %s)) LIMIT %s', [4, 84, 34, 1]) gunicorn-registry stdout | 2025-09-26 08:37:37,890 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,891 [256] [INFO] [data.model.quota] updating namespace size for manifest 34 in namespace 4, QuotaOperation.ADD 84924 gunicorn-registry stdout | 2025-09-26 08:37:37,891 [256] [DEBUG] [peewee] ('UPDATE "quotanamespacesize" SET "size_bytes" = ("quotanamespacesize"."size_bytes" + %s) WHERE ("quotanamespacesize"."namespace_user_id" = %s)', [84924, 4]) gunicorn-registry stdout | 2025-09-26 08:37:37,892 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotarepositorysize" AS "t1" WHERE ("t1"."repository_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,894 [256] [INFO] [data.model.quota] updating repository size for manifest 34 in repository 3, QuotaOperation.ADD 84924 gunicorn-registry stdout | 2025-09-26 08:37:37,894 [256] [DEBUG] [peewee] ('UPDATE "quotarepositorysize" SET "size_bytes" = ("quotarepositorysize"."size_bytes" + %s) WHERE ("quotarepositorysize"."repository_id" = %s)', [84924, 3]) gunicorn-registry stdout | 2025-09-26 08:37:37,895 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [34, None, 1758879457895, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,897 [256] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['$temp-6dbff88e-c9da-4509-86a2-e1b4991a4327', 3, 34, 1758875857895, 1758879457895, False, True, False, 1]) gunicorn-registry stdout | 2025-09-26 08:37:37,901 [256] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:37,904 [256] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['37f91066-f5b2-4e81-92b5-371c0ef960d9']) gunicorn-registry stdout | 2025-09-26 08:37:37,908 [256] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:37,911 [256] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:37,911 [256] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c'} gunicorn-registry stdout | 2025-09-26 08:37:37,911 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,911 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,911 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,911 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,911 [256] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,911 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,911 [256] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,911 [256] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:37,911 [256] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:37,912 [256] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:37,912 [256] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:37,912 [256] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,912 [256] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,912 [256] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,912 [256] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:37,912 [256] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,912 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:37,912 [256] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,912 [256] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,912 [256] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:37,912 [256] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083737Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:37,912 [256] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083737Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | f970968bb85e52fb59c99cb82acefafef09709af27618c0eab1e2d583ce0e73a gunicorn-registry stdout | 2025-09-26 08:37:37,912 [256] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | f0dfc09abd868cc746c0d20b9a0d6d9358d6fd2c483931407d4de9b05e25a1b1 gunicorn-registry stdout | 2025-09-26 08:37:37,913 [256] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:37,913 [256] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:37,913 [256] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:37,913 [256] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | 2025-09-26 08:37:38,000 [256] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c HTTP/1.1" 200 241 gunicorn-registry stdout | 2025-09-26 08:37:38,001 [256] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9tsi-1qtfj7-846', 'x-amz-id-2': 'mg0l9tsi-1qtfj7-846', 'ETag': '"63472c4a7b658d4fbe924d527c3ee8f8-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:37 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:38,001 [256] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:38,001 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,001 [256] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:38,001 [256] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,001 [256] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9tsi-1qtfj7-846', 'HostId': 'mg0l9tsi-1qtfj7-846', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9tsi-1qtfj7-846', 'x-amz-id-2': 'mg0l9tsi-1qtfj7-846', 'etag': '"63472c4a7b658d4fbe924d527c3ee8f8-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:37 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 37, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"63472c4a7b658d4fbe924d527c3ee8f8-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:38,003 [256] [DEBUG] [app] Ending request: urn:request:f3b1d602-93be-4995-bc79-0c9dddb2b394 (/v2/testorg2/alpine/manifests/sha256:0df49d0e46a24f094d82b5fe5cb961d1c413640031745d802a4e82d50d8a50bb) {'endpoint': 'v2.write_manifest_by_digest', 'request_id': 'urn:request:f3b1d602-93be-4995-bc79-0c9dddb2b394', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/manifests/sha256:0df49d0e46a24f094d82b5fe5cb961d1c413640031745d802a4e82d50d8a50bb', 'path': '/v2/testorg2/alpine/manifests/sha256:0df49d0e46a24f094d82b5fe5cb961d1c413640031745d802a4e82d50d8a50bb', 'parameters': {}, 'json_body': {'schemaVersion': 2, 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'config': {'mediaType': 'application/vnd.oci.image.config.v1+json', 'digest': 'sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'size': 241}, 'layers': [{'mediaType': 'application/vnd.in-toto+json', 'digest': 'sha256:8d1f02ad9f9ee20970462cba215b76ecee5bc8c7c6dbfb1316d14eefcbf30edb', 'size': 79005, 'annotations': {'in-toto.io/predicate-type': 'https://spdx.dev/Document'}}, {'mediaType': 'application/vnd.in-toto+json', 'digest': 'sha256:1bb83e137f5d9afa564a05f5b414eaa28703aeb626da0672e858e21083f7e2d8', 'size': 5678, 'annotations': {'in-toto.io/predicate-type': 'https://slsa.dev/provenance/v0.2'}}]}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:38,003 [256] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:38,003 [256] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:38,004 [256] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:38 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:0df49d0e46a24f094d82b5fe5cb961d1c413640031745d802a4e82d50d8a50bb HTTP/1.1" 201 2 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:38 +0000] "PUT /v2/testorg2/alpine/manifests/sha256:0df49d0e46a24f094d82b5fe5cb961d1c413640031745d802a4e82d50d8a50bb HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.147 2661 0.147) gunicorn-registry stdout | 2025-09-26 08:37:38,044 [257] [DEBUG] [app] Starting request: urn:request:bba090b9-8b24-401b-80e7-eb709f9816c5 (/v2/testorg2/alpine/manifests/alpine) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:38,044 [257] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {'manifest_ref': 'alpine', 'namespace_name': 'testorg2', 'repo_name': 'alpine'} gunicorn-registry stdout | 2025-09-26 08:37:38,044 [257] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:38,044 [257] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik5rVFF6OTVxYW9aRUlCMHFmVzRJMkpFQ2ZPbkc0d0dtbmdzbnJ4ZmxaTFEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODI4LCJpYXQiOjE3NTg4NzU4MjgsImV4cCI6MTc1ODg3OTQyOCwic3ViIjoicXVheSIsImFjY2VzcyI6W3sidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoidGVzdG9yZzIvYWxwaW5lIiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV0sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7InRlc3RvcmcyL2FscGluZSI6IiRkaXNhYmxlZCJ9LCJjb20uYXBvc3RpbGxlLnJvb3QiOiIkZGlzYWJsZWQifX0.B98r_yzSyE6Jy2ngYuuQLC6dMI4mW5G1dbuni33oRjdT1su4jTyYRsSudGNiMg8165peo8ceXvj41x_SN3KMw9lSRQERV2UbNsMBXMdvxFygI3tZ-wbzhoVKXkviEG3CMXPc_to_Ze3Em3Wx8kxF7zUg5OCWAtBn7XLPZGvBCbDw0xWyk7RFZHwBMvq3utiCexH5CMpQLGFAlBnvR3X7Iy_FkmZBDvMY5P7LKsr5SlTiutetOwmjPSM0iVy4NtDvrBmgzFxd2bZ3i5ZR2u9nkwekFPdZoGGekUM7jb4pSg3ZX4LZL4iV8n89WyPFzXdKE1o5bWCz7npHjzeRIXkAjg gunicorn-registry stdout | 2025-09-26 08:37:38,045 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:38,045 [257] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:38,046 [257] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:38,046 [257] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {'testorg2/alpine': '$disabled'}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:38,046 [257] [DEBUG] [endpoints.v2] Checking permission for repo: testorg2/alpine gunicorn-registry stdout | 2025-09-26 08:37:38,048 [257] [DEBUG] [data.cache.cache_key] Loading repository lookup from cache_key: repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:38,048 [257] [DEBUG] [data.cache.impl] Checking cache for key repository_lookup_testorg2_alpine gunicorn-registry stdout | 2025-09-26 08:37:38,048 [257] [DEBUG] [data.cache.impl] Found result in cache for key repository_lookup_testorg2_alpine: {'id': 3, 'visibility': {'id': 2, 'name': 'private'}, 'kind': {'id': 1, 'name': 'image'}, 'state': 0, 'namespace_user': {'stripe_id': None}} gunicorn-registry stdout | 2025-09-26 08:37:38,049 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,054 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:eafc1edb577d2e9b458664a15f23ea1c370214193226069eb22921169fc7e43f', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,059 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,062 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['c4abfd79-bf5b-4f0d-a72d-4c20edcc1b11']) gunicorn-registry stdout | 2025-09-26 08:37:38,067 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:38,069 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:38,069 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516'} gunicorn-registry stdout | 2025-09-26 08:37:38,069 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,069 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,069 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,069 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,069 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,069 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,069 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,069 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:38,069 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:38,069 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:38,070 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:38,070 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,070 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,070 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,070 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:38,070 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,070 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,070 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,070 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,070 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:38,070 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083738Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:38,070 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083738Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 991fb33b6997f1e7cafd98ef20cdae6126a3ec03b816c169c9a384a4d0a7272e gunicorn-registry stdout | 2025-09-26 08:37:38,070 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | e2da74cc1d01d9d96258f1bddaa03b7e6d0e6d6cda63926e12d83c3720e7c9ca gunicorn-registry stdout | 2025-09-26 08:37:38,071 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,071 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:38,071 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:38,085 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/92/9234e8fb04c47cfe0f49931e4ac7eb76fa904e33b7f8576aec0501c085f02516 HTTP/1.1" 200 581 gunicorn-registry stdout | 2025-09-26 08:37:38,085 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9tw8-3ygdfs-a7q', 'x-amz-id-2': 'mg0l9tw8-3ygdfs-a7q', 'ETag': '"7702b11c7ed5684c4be81fba747e2803-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:10 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '581', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:38,085 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:38,085 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,086 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:38,086 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,086 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9tw8-3ygdfs-a7q', 'HostId': 'mg0l9tw8-3ygdfs-a7q', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9tw8-3ygdfs-a7q', 'x-amz-id-2': 'mg0l9tw8-3ygdfs-a7q', 'etag': '"7702b11c7ed5684c4be81fba747e2803-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:10 GMT', 'content-type': 'application/octet-stream', 'content-length': '581', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 10, tzinfo=tzutc()), 'ContentLength': 581, 'ETag': '"7702b11c7ed5684c4be81fba747e2803-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:38,088 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:eafc1edb577d2e9b458664a15f23ea1c370214193226069eb22921169fc7e43f', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,091 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [19, None, 1758876158091, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,094 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:647e9d4b0e5b749e7b0ae8ea3dfd6ef75cff43b09282a4fd16dd0c56963a5edf', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,099 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,103 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['3be6046c-2727-4d60-afb2-b92fc49b22ae']) gunicorn-registry stdout | 2025-09-26 08:37:38,106 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:38,107 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:38,108 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23'} gunicorn-registry stdout | 2025-09-26 08:37:38,108 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,108 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,108 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,108 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,108 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,108 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,108 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,108 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:38,108 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:38,108 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:38,108 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:38,108 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,109 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,109 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,109 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:38,109 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,109 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,109 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,109 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,109 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:38,109 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083738Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:38,109 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083738Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 282bb6619bd2b42c6710fab5eeeee1f849d88a5ed983b4ffa1a0902f4a989335 gunicorn-registry stdout | 2025-09-26 08:37:38,109 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 6bd30097e8efe7ed280b911f06d0e9785ef231ddbf8fe7e8dcf66744c54c6832 gunicorn-registry stdout | 2025-09-26 08:37:38,109 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,109 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:38,110 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:38,124 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/38/389f5c3b443df175805c9200363fc10c653729f3f8978c97feacba0849c05d23 HTTP/1.1" 200 241 gunicorn-registry stdout | 2025-09-26 08:37:38,125 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9txb-4llu8f-eje', 'x-amz-id-2': 'mg0l9txb-4llu8f-eje', 'ETag': '"3d94f697fe7081dd2516ff729b393c6a-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:11 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:38,125 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:38,125 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,125 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:38,125 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,125 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9txb-4llu8f-eje', 'HostId': 'mg0l9txb-4llu8f-eje', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9txb-4llu8f-eje', 'x-amz-id-2': 'mg0l9txb-4llu8f-eje', 'etag': '"3d94f697fe7081dd2516ff729b393c6a-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:11 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 11, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"3d94f697fe7081dd2516ff729b393c6a-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:38,127 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:647e9d4b0e5b749e7b0ae8ea3dfd6ef75cff43b09282a4fd16dd0c56963a5edf', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,130 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [20, None, 1758876158129, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,133 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:17389a4a082a13cc17be63544e87b4a4de24f2e0dd1c8a6d5d31b16abcde9128', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,138 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,142 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['25c5da1f-e539-4fdd-a72a-11aeb689b3b1']) gunicorn-web stdout | 2025-09-26 08:37:38,143 [241] [DEBUG] [app] Starting request: urn:request:0d8242b3-dd24-4dcf-804c-3afc50bf6ffa (/_storage_proxy_auth) {'X-Forwarded-For': '3.131.182.156'} gunicorn-web stdout | 2025-09-26 08:37:38,144 [241] [DEBUG] [storage.downloadproxy] Got token b'eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODU3LCJpYXQiOjE3NTg4NzU4NTcsImV4cCI6MTc1ODg3NjQ1Nywic3ViIjoic3RvcmFnZXByb3h5IiwiYWNjZXNzIjpbeyJ0eXBlIjoic3RvcmFnZXByb3h5IiwidXJpIjoicXVheS1kYXRhc3RvcmUtZTI5YzM5OTQtNjJlYi00ZTlmLTk1NTAtYmFhMTFmODc0MDg0L2RhdGFzdG9yYWdlL3JlZ2lzdHJ5L3NoYTI1Ni9iNy9iNzYyZjY3ODg1OWJmYTVjMzk0OGI1ZjFiMDQ5NTlhYTQzYzhhYmE4OGUyMzg5ZTI4MTQxM2QzMDNkNjJhN2UzP0FXU0FjY2Vzc0tleUlkPUtxVUFodjYwQUdsQUREcTBNY0taJlNpZ25hdHVyZT1PbVdQNVNTOFBKQ1FuSDA2OXluaGlnMTBDanclM0QmRXhwaXJlcz0xNzU4ODc2NDU3IiwiaG9zdCI6InMzLm9wZW5zaGlmdC1zdG9yYWdlLnN2Yy5jbHVzdGVyLmxvY2FsOjQ0MyIsInNjaGVtZSI6Imh0dHBzIn1dLCJjb250ZXh0Ijp7fX0.l_UWtgevduNJvOCALw0AaWyWapB8TnfdYHpyx7XupRjuVGNjHdPa1L1DXCOY4xTF-G7iQPjeBynWdFRVUktOq5vW6V1qrgmZWH72-IdGQG06Jjptno6KYHmhs_zOHf1pwNhPwqlFZYmqiLp0lwGtmKlVpnNTP0aHDaKAjGzuIxSpSe9kPDlC7-YtjFJEp6wV3cKDv6CHY4fJ_OOjQtUBVpnjhY6TRrBLOZL6isui2UGaOffC1cxUMyp7wCPsSNnttoX81OQEvvJa6hWE3MsduHmQv_6lKjDAb3uuNa4c31EPZposjFItdGfH9nCQNRAB8sNgRfU8DnrfSgCYdfglEg' for storage proxy auth request /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EVTNMQ0pwWVhRaU9qRTNOVGc0TnpVNE5UY3NJbVY0Y0NJNk1UYzFPRGczTmpRMU55d2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aU55OWlOell5WmpZM09EZzFPV0ptWVRWak16azBPR0kxWmpGaU1EUTVOVGxoWVRRell6aGhZbUU0T0dVeU16ZzVaVEk0TVRReE0yUXpNRE5rTmpKaE4yVXpQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFQYlZkUU5WTlRPRkJLUTFGdVNEQTJPWGx1YUdsbk1UQkRhbmNsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRVM0lpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAubF9VV3RnZXZkdU5Kdk9DQUx3MEFhV3lXYXBCOFRuZmRZSHB5eDdYdXBSanVWR05qSGRQYTFMMURYQ09ZNHhURi1HN2lRUGplQnluV2RGUlZVa3RPcTV2VzZWMXFyZ21aV0g3Mi1JZEdRRzA2SmpwdG5vNktZSG1oc196T0hmMXB3TmhQd3FsRlpZbXFpTHAwbHdHdG1LbFZwbk5UUDBhSERhS0FqR3p1SXhTcFNlOWtQRGxDNy1ZdGpGSkVwNndWM2NLRHY2Q0hZNGZKX09PalF0VUJWcG5qaFk2VFJyQkxPWkw2aXN1aTJVR2FPZmZDMWN4VU15cDd3Q1BzU05udHRvWDgxT1FFdnZKYTZoV0UzTXNkdUhtUXZfNmxLakRBYjN1dU5hNGMzMUVQWnBvc2pGSXRkR2ZIOW5DUU5SQUI4c05nUmZVOERucmZTZ0NZZGZnbEVn/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=OmWP5SS8PJCQnH069ynhig10Cjw%3D&Expires=1758876457 with parts ['ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EVTNMQ0pwWVhRaU9qRTNOVGc0TnpVNE5UY3NJbVY0Y0NJNk1UYzFPRGczTmpRMU55d2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aU55OWlOell5WmpZM09EZzFPV0ptWVRWak16azBPR0kxWmpGaU1EUTVOVGxoWVRRell6aGhZbUU0T0dVeU16ZzVaVEk0TVRReE0yUXpNRE5rTmpKaE4yVXpQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFQYlZkUU5WTlRPRkJLUTFGdVNEQTJPWGx1YUdsbk1UQkRhbmNsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRVM0lpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAubF9VV3RnZXZkdU5Kdk9DQUx3MEFhV3lXYXBCOFRuZmRZSHB5eDdYdXBSanVWR05qSGRQYTFMMURYQ09ZNHhURi1HN2lRUGplQnluV2RGUlZVa3RPcTV2VzZWMXFyZ21aV0g3Mi1JZEdRRzA2SmpwdG5vNktZSG1oc196T0hmMXB3TmhQd3FsRlpZbXFpTHAwbHdHdG1LbFZwbk5UUDBhSERhS0FqR3p1SXhTcFNlOWtQRGxDNy1ZdGpGSkVwNndWM2NLRHY2Q0hZNGZKX09PalF0VUJWcG5qaFk2VFJyQkxPWkw2aXN1aTJVR2FPZmZDMWN4VU15cDd3Q1BzU05udHRvWDgxT1FFdnZKYTZoV0UzTXNkdUhtUXZfNmxLakRBYjN1dU5hNGMzMUVQWnBvc2pGSXRkR2ZIOW5DUU5SQUI4c05nUmZVOERucmZTZ0NZZGZnbEVn', 'https', 's3.openshift-storage.svc.cluster.local:443', 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=OmWP5SS8PJCQnH069ynhig10Cjw%3D&Expires=1758876457'] gunicorn-web stdout | 2025-09-26 08:37:38,145 [241] [DEBUG] [app] Ending request: urn:request:0d8242b3-dd24-4dcf-804c-3afc50bf6ffa (/_storage_proxy_auth) {'endpoint': '_storage_proxy_auth', 'request_id': 'urn:request:0d8242b3-dd24-4dcf-804c-3afc50bf6ffa', 'remote_addr': '3.131.182.156', 'http_method': 'GET', 'original_url': 'https://web_app_server/_storage_proxy_auth', 'path': '/_storage_proxy_auth', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Go-http-client/1.1'} gunicorn-web stdout | 2025-09-26 08:37:38,145 [241] [INFO] [gunicorn.access] 3.131.182.156 - - [26/Sep/2025:08:37:38 +0000] "GET /_storage_proxy_auth HTTP/1.0" 200 2 "-" "Go-http-client/1.1" gunicorn-registry stdout | 2025-09-26 08:37:38,145 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:38,146 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:38,146 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b'} gunicorn-registry stdout | 2025-09-26 08:37:38,146 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,146 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,147 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,147 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,147 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,147 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,147 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,147 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:38,147 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:38,147 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:38,147 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:38,147 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,147 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,147 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,147 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:38,147 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,147 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,147 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,147 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,148 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:38,148 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083738Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:38,148 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083738Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 870433f969e6f96f7ee289875550e485ddcb7d8935ab5993104ab06e1cfee73b gunicorn-registry stdout | 2025-09-26 08:37:38,148 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 1b23bc96ad49a285cce54780fada38c4ebbfb4ac0b3818baf0af8b0f84ef97ea gunicorn-registry stdout | 2025-09-26 08:37:38,148 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,148 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:38,148 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:38,165 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/db/dbec5ca72d7951fb0a5a2f9d1ec72df1126c7409248d9b710a555140056d343b HTTP/1.1" 200 593 gunicorn-registry stdout | 2025-09-26 08:37:38,166 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9tye-59ahb1-1cwx', 'x-amz-id-2': 'mg0l9tye-59ahb1-1cwx', 'ETag': '"3e5d99cc283698e68dea92030b724e28-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:13 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '593', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:38,166 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:38,166 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,166 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:38,166 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,166 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9tye-59ahb1-1cwx', 'HostId': 'mg0l9tye-59ahb1-1cwx', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9tye-59ahb1-1cwx', 'x-amz-id-2': 'mg0l9tye-59ahb1-1cwx', 'etag': '"3e5d99cc283698e68dea92030b724e28-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:13 GMT', 'content-type': 'application/octet-stream', 'content-length': '593', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 13, tzinfo=tzutc()), 'ContentLength': 593, 'ETag': '"3e5d99cc283698e68dea92030b724e28-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:38,169 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:17389a4a082a13cc17be63544e87b4a4de24f2e0dd1c8a6d5d31b16abcde9128', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,172 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [21, None, 1758876158172, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,175 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:20ff073fde2f60c8ecb1101f047df66b940ad58a6ea918e128df7cd95c5c2dac', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,180 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,184 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['ce5fc8d5-c12b-4a84-967a-0f6bea58496f']) gunicorn-registry stdout | 2025-09-26 08:37:38,187 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:38,188 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:38,188 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81'} gunicorn-registry stdout | 2025-09-26 08:37:38,188 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,188 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,188 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,188 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,189 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,189 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,189 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,189 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:38,189 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:38,189 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:38,189 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:38,189 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,189 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,189 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,189 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:38,190 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,190 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,190 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,190 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,190 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:38,190 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083738Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:38,190 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083738Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 0d5235087187cb7c6f505965b419b0ca34f9972d425eacdb6a0b290f2f678ba3 gunicorn-registry stdout | 2025-09-26 08:37:38,190 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | df2d02ab2b0275db109e766e0c41962b86af14af4158c4598546046f5d358694 gunicorn-registry stdout | 2025-09-26 08:37:38,190 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,190 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:38,190 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:38,202 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/79/792f1e44b8f950799c87241761336b244524de1ef04bc0023cb87f72cb30ad81 HTTP/1.1" 200 167 gunicorn-registry stdout | 2025-09-26 08:37:38,202 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9tzj-5xp6cw-13vb', 'x-amz-id-2': 'mg0l9tzj-5xp6cw-13vb', 'ETag': '"e6f09d8ec158ded8e277b62cc0fa10cc-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:15 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '167', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:38,203 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:38,203 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,203 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:38,203 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,203 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9tzj-5xp6cw-13vb', 'HostId': 'mg0l9tzj-5xp6cw-13vb', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9tzj-5xp6cw-13vb', 'x-amz-id-2': 'mg0l9tzj-5xp6cw-13vb', 'etag': '"e6f09d8ec158ded8e277b62cc0fa10cc-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:15 GMT', 'content-type': 'application/octet-stream', 'content-length': '167', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 15, tzinfo=tzutc()), 'ContentLength': 167, 'ETag': '"e6f09d8ec158ded8e277b62cc0fa10cc-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:38,205 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:20ff073fde2f60c8ecb1101f047df66b940ad58a6ea918e128df7cd95c5c2dac', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,208 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [22, None, 1758876158207, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,210 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:9a00b501930d225081164db0456189ebc25b9c7524989c38f4d77c0a96a9ca9a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,215 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,219 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['4225f69b-0f67-49b8-b880-b3e74cd339d9']) gunicorn-registry stdout | 2025-09-26 08:37:38,222 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:38,223 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:38,223 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c'} gunicorn-registry stdout | 2025-09-26 08:37:38,223 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,223 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,223 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,223 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,223 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,223 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,223 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,224 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:38,224 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:38,224 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:38,224 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:38,224 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,224 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,224 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,224 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:38,224 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,224 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,224 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,224 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,224 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:38,225 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083738Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:38,225 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083738Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 40e7b53c0dc7377d957f64ab9142a8e32cda2973fe2ed3b3c407e15aebd5988a gunicorn-registry stdout | 2025-09-26 08:37:38,225 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 7bd2555a0a10ce3e782ed2bd11d9ea8e24c480b0c136ca9b064b98be5da23b37 gunicorn-registry stdout | 2025-09-26 08:37:38,225 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,225 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:38,225 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:38,237 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/8c/8c97401b6aceb287a0234dc188c4510d98adfd6952b403bd07c3a64165171c5c HTTP/1.1" 200 593 gunicorn-registry stdout | 2025-09-26 08:37:38,238 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9u0i-6i8ms5-15as', 'x-amz-id-2': 'mg0l9u0i-6i8ms5-15as', 'ETag': '"189fa31f0a77a5767964ce4630e61481-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:17 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '593', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:38,238 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:38,238 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,238 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:38,238 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,238 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9u0i-6i8ms5-15as', 'HostId': 'mg0l9u0i-6i8ms5-15as', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9u0i-6i8ms5-15as', 'x-amz-id-2': 'mg0l9u0i-6i8ms5-15as', 'etag': '"189fa31f0a77a5767964ce4630e61481-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:17 GMT', 'content-type': 'application/octet-stream', 'content-length': '593', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 17, tzinfo=tzutc()), 'ContentLength': 593, 'ETag': '"189fa31f0a77a5767964ce4630e61481-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:38,241 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:9a00b501930d225081164db0456189ebc25b9c7524989c38f4d77c0a96a9ca9a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,244 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [23, None, 1758876158244, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,247 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:12a8620b724859d164848054d3949a02212c5ac72fa80291e2e506c15cfcc4c6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,251 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,255 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['4d86c929-7d38-4f15-940e-6cd3340885eb']) gunicorn-registry stdout | 2025-09-26 08:37:38,258 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:38,259 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:38,259 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8'} gunicorn-registry stdout | 2025-09-26 08:37:38,259 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,259 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,259 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,260 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,260 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,260 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,260 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,260 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:38,260 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:38,260 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:38,260 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:38,260 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,260 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,260 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,260 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:38,260 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,260 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,260 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,260 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,261 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:38,261 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083738Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:38,261 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083738Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | bf5565b73000255914ef400428a0bb4a1885c87ea29d8765ef12e3b82bc09248 gunicorn-registry stdout | 2025-09-26 08:37:38,261 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | a5fe07fab7397ee31dd73bbefdaa648256b01a7782b0aa85e65f7ee73332e1ac gunicorn-registry stdout | 2025-09-26 08:37:38,261 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,261 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:38,261 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:38,274 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/ba/bab5ae10506278931255c2b96d817cc72fb378b372173649d588d074bdbfb8e8 HTTP/1.1" 200 241 gunicorn-registry stdout | 2025-09-26 08:37:38,274 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9u1i-73ul26-1b2u', 'x-amz-id-2': 'mg0l9u1i-73ul26-1b2u', 'ETag': '"440f9ff3b78db3b521941ee393b6bc91-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:19 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:38,274 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:38,274 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,275 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:38,275 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,275 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9u1i-73ul26-1b2u', 'HostId': 'mg0l9u1i-73ul26-1b2u', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9u1i-73ul26-1b2u', 'x-amz-id-2': 'mg0l9u1i-73ul26-1b2u', 'etag': '"440f9ff3b78db3b521941ee393b6bc91-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:19 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 19, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"440f9ff3b78db3b521941ee393b6bc91-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:38,277 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:12a8620b724859d164848054d3949a02212c5ac72fa80291e2e506c15cfcc4c6', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,280 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [24, None, 1758876158280, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,283 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:4562b419adf48c5f3c763995d6014c123b3ce1d2e0ef2613b189779caa787192', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,289 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,292 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['8b0bb733-7b6e-4402-aac7-06ada985b453']) gunicorn-registry stdout | 2025-09-26 08:37:38,296 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:38,297 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:38,297 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612'} gunicorn-registry stdout | 2025-09-26 08:37:38,297 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,297 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,297 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,297 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,297 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,297 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,297 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,297 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:38,297 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:38,298 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:38,298 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:38,298 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,298 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,298 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,298 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:38,298 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,298 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,298 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,298 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,298 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:38,298 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083738Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:38,299 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083738Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | affb95fa066d5b5df48cb80b29921d4006e78e9a8e98454e4d66249f38a7e661 gunicorn-registry stdout | 2025-09-26 08:37:38,299 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | f1ea9ab01e6f2aa9eacf50aac96ccf15190b220387a3b2fbec9e586d23ec76a0 gunicorn-registry stdout | 2025-09-26 08:37:38,299 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,299 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:38,299 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:38,334 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/02/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612 HTTP/1.1" 200 597 gunicorn-registry stdout | 2025-09-26 08:37:38,335 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9u2w-7xnjbd-mej', 'x-amz-id-2': 'mg0l9u2w-7xnjbd-mej', 'ETag': '"c2138b8b08a06c698b41a1835d8c262b-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:21 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '597', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:38,335 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:38,335 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,335 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:38,335 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,336 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9u2w-7xnjbd-mej', 'HostId': 'mg0l9u2w-7xnjbd-mej', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9u2w-7xnjbd-mej', 'x-amz-id-2': 'mg0l9u2w-7xnjbd-mej', 'etag': '"c2138b8b08a06c698b41a1835d8c262b-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:21 GMT', 'content-type': 'application/octet-stream', 'content-length': '597', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 21, tzinfo=tzutc()), 'ContentLength': 597, 'ETag': '"c2138b8b08a06c698b41a1835d8c262b-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:38,339 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:4562b419adf48c5f3c763995d6014c123b3ce1d2e0ef2613b189779caa787192', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,343 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [25, None, 1758876158343, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,346 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:9c8d97ecfb803aa789985856077ccd4fede4b34fbd1e712e0e9cdc208565332e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,351 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,356 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['c705e5dd-768e-4128-887d-9ce54ffcf4e5']) gunicorn-registry stdout | 2025-09-26 08:37:38,359 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:38,360 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:38,360 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a'} gunicorn-registry stdout | 2025-09-26 08:37:38,360 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,360 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,360 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,360 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,360 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,360 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,360 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,360 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:38,360 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:38,360 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:38,360 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:38,361 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,361 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,361 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,361 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:38,361 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,361 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,361 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,361 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,361 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:38,361 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083738Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:38,361 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083738Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 7580e9ac5ef89ab5f8d1bcd42279cc781686e50bcdfc4feee1d709e97e93d04e gunicorn-registry stdout | 2025-09-26 08:37:38,361 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 0cab47a1de1786dd516deda423c843b5b54514846543ee4f566cfb92df7fceb3 gunicorn-registry stdout | 2025-09-26 08:37:38,361 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,362 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:38,362 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:38,456 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/6b/6b7d99a4282370d24baba2f47786914682565ab8a55821d74fafd264dd9e5c3a HTTP/1.1" 200 241 gunicorn-registry stdout | 2025-09-26 08:37:38,456 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9u69-9xqztp-epw', 'x-amz-id-2': 'mg0l9u69-9xqztp-epw', 'ETag': '"f365106852a41e8065779a8ff564fba9-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:23 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:38,456 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:38,457 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,457 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:38,457 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,457 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9u69-9xqztp-epw', 'HostId': 'mg0l9u69-9xqztp-epw', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9u69-9xqztp-epw', 'x-amz-id-2': 'mg0l9u69-9xqztp-epw', 'etag': '"f365106852a41e8065779a8ff564fba9-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:23 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 23, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"f365106852a41e8065779a8ff564fba9-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:38,459 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:9c8d97ecfb803aa789985856077ccd4fede4b34fbd1e712e0e9cdc208565332e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,462 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [26, None, 1758876158461, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,465 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:0a88b42ba69d6b900848f9cb9151587bb82827d0aecfa222e51981fad97b5b9a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,470 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,474 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['2ac9bf98-4232-4b44-b0eb-d22934938341']) gunicorn-registry stdout | 2025-09-26 08:37:38,477 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:38,478 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:38,478 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79'} gunicorn-registry stdout | 2025-09-26 08:37:38,479 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,479 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,479 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,479 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,479 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,479 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,479 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,479 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:38,479 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:38,479 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:38,479 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:38,480 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,480 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,480 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,480 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:38,480 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,480 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,481 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,481 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,481 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:38,481 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083738Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:38,481 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083738Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | f2a168f90309d8947a1542b8463d74071bed27913dccfca27173cd5a1107b391 gunicorn-registry stdout | 2025-09-26 08:37:38,481 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 68aaed8f2f0361e848fbc00a9035bfadc267d8916b1aba810ab4a8073ba0af95 gunicorn-registry stdout | 2025-09-26 08:37:38,481 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,481 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:38,482 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:38,495 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/f3/f30a2997d9e5b4550ba0df7a56dd645b69bb05be267d3c50316326ed25f10b79 HTTP/1.1" 200 576 gunicorn-registry stdout | 2025-09-26 08:37:38,495 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9u7n-arf9yo-icr', 'x-amz-id-2': 'mg0l9u7n-arf9yo-icr', 'ETag': '"109d44b9dc2e005b309d2c8d646756e8-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:25 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '576', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:38,495 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:38,496 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,496 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:38,496 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,496 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9u7n-arf9yo-icr', 'HostId': 'mg0l9u7n-arf9yo-icr', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9u7n-arf9yo-icr', 'x-amz-id-2': 'mg0l9u7n-arf9yo-icr', 'etag': '"109d44b9dc2e005b309d2c8d646756e8-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:25 GMT', 'content-type': 'application/octet-stream', 'content-length': '576', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 25, tzinfo=tzutc()), 'ContentLength': 576, 'ETag': '"109d44b9dc2e005b309d2c8d646756e8-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:38,498 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:0a88b42ba69d6b900848f9cb9151587bb82827d0aecfa222e51981fad97b5b9a', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,501 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [27, None, 1758876158501, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,504 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:b2fa67becb6440be30274faba2517139ef13ac375987cb92d201a09f63f81ed7', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,509 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:b296a0a235c726e03592aeeb29590fbfb5c5ee9ef35a12e8ea0f90423f2fb8a0', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,513 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['ac420d3f-d252-48e1-b87f-f7d86072e99e']) gunicorn-registry stdout | 2025-09-26 08:37:38,519 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:38,520 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:38,520 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/b2/b296a0a235c726e03592aeeb29590fbfb5c5ee9ef35a12e8ea0f90423f2fb8a0'} gunicorn-registry stdout | 2025-09-26 08:37:38,520 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,520 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,520 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,520 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,520 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,520 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,521 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,521 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:38,521 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:38,521 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:38,521 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:38,521 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,521 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,521 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,521 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/b2/b296a0a235c726e03592aeeb29590fbfb5c5ee9ef35a12e8ea0f90423f2fb8a0', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b2/b296a0a235c726e03592aeeb29590fbfb5c5ee9ef35a12e8ea0f90423f2fb8a0', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b2/b296a0a235c726e03592aeeb29590fbfb5c5ee9ef35a12e8ea0f90423f2fb8a0', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/b2/b296a0a235c726e03592aeeb29590fbfb5c5ee9ef35a12e8ea0f90423f2fb8a0'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:38,521 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,521 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,521 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,521 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,522 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:38,522 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b2/b296a0a235c726e03592aeeb29590fbfb5c5ee9ef35a12e8ea0f90423f2fb8a0 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083738Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:38,522 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083738Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | ecc57451a8eb23e8de800951e09230178f425eed47c9a131ea7f2bf36b8a43bd gunicorn-registry stdout | 2025-09-26 08:37:38,522 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 3341b32dd055fbf2e908c98874ca8a9f1bd63be634708b6cb40d0ceb28e04fc2 gunicorn-registry stdout | 2025-09-26 08:37:38,522 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,522 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:38,522 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:38,535 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b2/b296a0a235c726e03592aeeb29590fbfb5c5ee9ef35a12e8ea0f90423f2fb8a0 HTTP/1.1" 200 241 gunicorn-registry stdout | 2025-09-26 08:37:38,535 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9u8r-bf9ixn-1z1', 'x-amz-id-2': 'mg0l9u8r-bf9ixn-1z1', 'ETag': '"13a49bc13fb9f5097d1550bda295ce65-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:26 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:38,535 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:38,536 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,536 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:38,536 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,536 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9u8r-bf9ixn-1z1', 'HostId': 'mg0l9u8r-bf9ixn-1z1', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9u8r-bf9ixn-1z1', 'x-amz-id-2': 'mg0l9u8r-bf9ixn-1z1', 'etag': '"13a49bc13fb9f5097d1550bda295ce65-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:26 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 26, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"13a49bc13fb9f5097d1550bda295ce65-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:38,538 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:b2fa67becb6440be30274faba2517139ef13ac375987cb92d201a09f63f81ed7', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,541 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [28, None, 1758876158540, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,544 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:e9025aa787330c0477c030dc7b7f134acadaf2c4a9dd9244ee43e575ffc92fa9', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,549 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,554 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['81ec74c5-ebe4-4e1b-9554-d26a630f31ff']) gunicorn-registry stdout | 2025-09-26 08:37:38,557 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:38,558 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:38,558 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377'} gunicorn-registry stdout | 2025-09-26 08:37:38,558 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,558 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,558 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,558 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,558 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,558 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,559 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,559 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:38,559 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:38,559 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:38,559 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:38,559 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,559 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,559 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,559 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:38,560 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,560 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,560 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,560 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,560 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:38,560 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083738Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:38,560 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083738Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | e0d73abca086104fbcf7f0ecbdfd58ffbe3fe8d6ad6515a6e3ef987e6b7a375f gunicorn-registry stdout | 2025-09-26 08:37:38,560 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 5751912ab3a32226b8567c69d3646571b841f7f2d437184af38ac869cfd0706d gunicorn-registry stdout | 2025-09-26 08:37:38,560 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,560 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:38,560 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:38 +0000] "GET /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EVTNMQ0pwWVhRaU9qRTNOVGc0TnpVNE5UY3NJbVY0Y0NJNk1UYzFPRGczTmpRMU55d2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5aU55OWlOell5WmpZM09EZzFPV0ptWVRWak16azBPR0kxWmpGaU1EUTVOVGxoWVRRell6aGhZbUU0T0dVeU16ZzVaVEk0TVRReE0yUXpNRE5rTmpKaE4yVXpQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFQYlZkUU5WTlRPRkJLUTFGdVNEQTJPWGx1YUdsbk1UQkRhbmNsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRVM0lpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAubF9VV3RnZXZkdU5Kdk9DQUx3MEFhV3lXYXBCOFRuZmRZSHB5eDdYdXBSanVWR05qSGRQYTFMMURYQ09ZNHhURi1HN2lRUGplQnluV2RGUlZVa3RPcTV2VzZWMXFyZ21aV0g3Mi1JZEdRRzA2SmpwdG5vNktZSG1oc196T0hmMXB3TmhQd3FsRlpZbXFpTHAwbHdHdG1LbFZwbk5UUDBhSERhS0FqR3p1SXhTcFNlOWtQRGxDNy1ZdGpGSkVwNndWM2NLRHY2Q0hZNGZKX09PalF0VUJWcG5qaFk2VFJyQkxPWkw2aXN1aTJVR2FPZmZDMWN4VU15cDd3Q1BzU05udHRvWDgxT1FFdnZKYTZoV0UzTXNkdUhtUXZfNmxLakRBYjN1dU5hNGMzMUVQWnBvc2pGSXRkR2ZIOW5DUU5SQUI4c05nUmZVOERucmZTZ0NZZGZnbEVn/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/b7/b762f678859bfa5c3948b5f1b04959aa43c8aba88e2389e281413d303d62a7e3?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=OmWP5SS8PJCQnH069ynhig10Cjw%3D&Expires=1758876457 HTTP/1.1" 200 3718036 "-" "Go-http-client/1.1" (0.414 2405 0.410) gunicorn-registry stdout | 2025-09-26 08:37:38,574 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/85/85014141f8b45859108c04c9cef9d6fdac78bc56732245f93b7cc03ed39ab377 HTTP/1.1" 200 584 gunicorn-registry stdout | 2025-09-26 08:37:38,574 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9u9t-c1wk6x-ozd', 'x-amz-id-2': 'mg0l9u9t-c1wk6x-ozd', 'ETag': '"6f74568df3b1ff1f878b28ec4aa6eb86-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:28 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '584', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:38,574 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:38,575 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,575 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:38,575 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,575 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9u9t-c1wk6x-ozd', 'HostId': 'mg0l9u9t-c1wk6x-ozd', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9u9t-c1wk6x-ozd', 'x-amz-id-2': 'mg0l9u9t-c1wk6x-ozd', 'etag': '"6f74568df3b1ff1f878b28ec4aa6eb86-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:28 GMT', 'content-type': 'application/octet-stream', 'content-length': '584', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 28, tzinfo=tzutc()), 'ContentLength': 584, 'ETag': '"6f74568df3b1ff1f878b28ec4aa6eb86-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:38,577 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:e9025aa787330c0477c030dc7b7f134acadaf2c4a9dd9244ee43e575ffc92fa9', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,580 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [29, None, 1758876158580, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,583 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:8bec0de62b43ed91fa736cf98c89e67e8b0593b1d543e02f2995a4ce80b17d1f', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,588 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,592 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['0dac0292-74e4-4964-86e5-5808ca139e8a']) gunicorn-registry stdout | 2025-09-26 08:37:38,595 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:38,597 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:38,597 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/4d/4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733'} gunicorn-registry stdout | 2025-09-26 08:37:38,597 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,597 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,597 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,597 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,597 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,597 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,597 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,597 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:38,597 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:38,598 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:38,598 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:38,598 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,598 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,598 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,598 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/4d/4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4d/4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4d/4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/4d/4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:38,598 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,598 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,598 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,598 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,598 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:38,598 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4d/4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083738Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:38,598 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083738Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | d908315209b04ae45e1ad9e54c635990f996f000e7a2210c3e8146e2f2625ceb gunicorn-registry stdout | 2025-09-26 08:37:38,598 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 23277945a2dd07bd40ecf2a9011accc24170c8457b544bf1ddabebef2a57a4d3 gunicorn-registry stdout | 2025-09-26 08:37:38,598 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,599 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:38,599 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:38,612 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/4d/4dbbc42c77da0678e9c71567077fa0d86ba324773ab40daaec7e49f2bc505733 HTTP/1.1" 200 241 gunicorn-registry stdout | 2025-09-26 08:37:38,612 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9uav-coq6wt-7v4', 'x-amz-id-2': 'mg0l9uav-coq6wt-7v4', 'ETag': '"5326b816e6e0a28dad7eaccd010d2a2a-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:30 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:38,612 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:38,612 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,612 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:38,612 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,612 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9uav-coq6wt-7v4', 'HostId': 'mg0l9uav-coq6wt-7v4', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9uav-coq6wt-7v4', 'x-amz-id-2': 'mg0l9uav-coq6wt-7v4', 'etag': '"5326b816e6e0a28dad7eaccd010d2a2a-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:30 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 30, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"5326b816e6e0a28dad7eaccd010d2a2a-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:38,614 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:8bec0de62b43ed91fa736cf98c89e67e8b0593b1d543e02f2995a4ce80b17d1f', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,617 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [30, None, 1758876158616, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,620 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:5938519b4c46e95da0bb5accefcb8f3b5dde38f421b557ba2ff3f70d59706ab9', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,624 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,628 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['95e26042-e014-4f93-bb24-49057896bbbc']) gunicorn-registry stdout | 2025-09-26 08:37:38,633 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:38,633 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:38,634 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86'} gunicorn-registry stdout | 2025-09-26 08:37:38,634 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,634 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,634 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,634 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,634 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,634 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,634 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,634 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:38,634 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:38,634 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:38,634 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:38,634 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,634 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,634 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,634 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:38,634 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,634 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,635 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,635 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,635 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:38,635 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083738Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:38,635 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083738Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | f3671a912c0b06222abf7989eebbaf36fc3a6336ae54b03960093f210ce35d91 gunicorn-registry stdout | 2025-09-26 08:37:38,635 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | ccf6c855783bc6589c440f238eae04aebee1f39f6289df03e26fcb1b38dc9a17 gunicorn-registry stdout | 2025-09-26 08:37:38,635 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,635 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:38,635 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:38,648 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/fd/fdfaeff667ccd84e58a1c243e36b455dbf802bd675880748ba2be8d1e3ae4f86 HTTP/1.1" 200 584 gunicorn-registry stdout | 2025-09-26 08:37:38,649 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ubw-dao78d-bah', 'x-amz-id-2': 'mg0l9ubw-dao78d-bah', 'ETag': '"00318939fab3984e597fce89e3a44d6f-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:32 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '584', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:38,649 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:38,649 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,649 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:38,649 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,649 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9ubw-dao78d-bah', 'HostId': 'mg0l9ubw-dao78d-bah', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ubw-dao78d-bah', 'x-amz-id-2': 'mg0l9ubw-dao78d-bah', 'etag': '"00318939fab3984e597fce89e3a44d6f-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:32 GMT', 'content-type': 'application/octet-stream', 'content-length': '584', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 32, tzinfo=tzutc()), 'ContentLength': 584, 'ETag': '"00318939fab3984e597fce89e3a44d6f-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:38,651 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:5938519b4c46e95da0bb5accefcb8f3b5dde38f421b557ba2ff3f70d59706ab9', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,654 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [31, None, 1758876158654, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,657 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:83a4745a9c165dd4da61a49ddb76550909859bf6ed62d41974e31559eec7fb8e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,663 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,666 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['4fd5679a-d624-412b-85ff-82ea30a0e955']) gunicorn-registry stdout | 2025-09-26 08:37:38,669 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:38,670 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:38,670 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890'} gunicorn-registry stdout | 2025-09-26 08:37:38,670 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,670 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,670 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,671 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,671 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,671 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,671 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,671 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:38,671 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:38,671 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:38,671 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:38,671 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,671 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,671 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,671 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:38,671 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,671 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,671 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,671 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,672 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:38,672 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083738Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:38,672 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083738Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 46a6c102f93e9bf62088da3ab5710ba237aa038fd109996acbdfcf3a84cc8a23 gunicorn-registry stdout | 2025-09-26 08:37:38,672 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 2bf5662d5efc11bd10f1bbebaa965e83358a816341d11cc06da724c3b28d4a21 gunicorn-registry stdout | 2025-09-26 08:37:38,672 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,672 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:38,672 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:38,688 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/37/37dc4eb1e038271aa75c594888e6bcab821893a8a033e18713088a88c9b1f890 HTTP/1.1" 200 241 gunicorn-registry stdout | 2025-09-26 08:37:38,688 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ucx-dwrrfi-12o2', 'x-amz-id-2': 'mg0l9ucx-dwrrfi-12o2', 'ETag': '"ea6430a6b1a5037bd220491587f4f5f4-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:34 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:38,688 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:38,688 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,688 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:38,689 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,689 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9ucx-dwrrfi-12o2', 'HostId': 'mg0l9ucx-dwrrfi-12o2', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ucx-dwrrfi-12o2', 'x-amz-id-2': 'mg0l9ucx-dwrrfi-12o2', 'etag': '"ea6430a6b1a5037bd220491587f4f5f4-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:34 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 34, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"ea6430a6b1a5037bd220491587f4f5f4-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:38,691 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:83a4745a9c165dd4da61a49ddb76550909859bf6ed62d41974e31559eec7fb8e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,693 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [32, None, 1758876158693, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,696 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:9e7331b8f4bbe798fca28aac7f6844896b436984b3412076e2890069b3ef397e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,701 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,705 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['f647cfe7-f327-443b-bf19-34bb0f088bc7']) gunicorn-registry stdout | 2025-09-26 08:37:38,708 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:38,709 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:38,710 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2'} gunicorn-registry stdout | 2025-09-26 08:37:38,710 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,710 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,710 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,710 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,710 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,710 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,710 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,710 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:38,710 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:38,710 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:38,710 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:38,710 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,710 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,710 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,711 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:38,711 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,711 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,711 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,711 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,711 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:38,711 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2 gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083738Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:38,711 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083738Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 415a57e682738418e8229443270cdb697641f70e549f279bcd9a53c68fbc4932 gunicorn-registry stdout | 2025-09-26 08:37:38,711 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 38c62c9074ce32fd1961136cf6d56c461e10e49b052c5a69d2e9f5f855a0eafe gunicorn-registry stdout | 2025-09-26 08:37:38,711 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,711 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:38,711 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:38,724 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/2a/2a3bbf8343185982373f19f348685f146d53ee36623a969a02c2a700376f38b2 HTTP/1.1" 200 580 gunicorn-registry stdout | 2025-09-26 08:37:38,724 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ue0-ejveaa-11nw', 'x-amz-id-2': 'mg0l9ue0-ejveaa-11nw', 'ETag': '"1d618db65765ad3e9325f8ce6eb88cb7-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:36 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '580', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:38,724 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:38,724 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,724 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:38,724 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,724 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9ue0-ejveaa-11nw', 'HostId': 'mg0l9ue0-ejveaa-11nw', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9ue0-ejveaa-11nw', 'x-amz-id-2': 'mg0l9ue0-ejveaa-11nw', 'etag': '"1d618db65765ad3e9325f8ce6eb88cb7-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:36 GMT', 'content-type': 'application/octet-stream', 'content-length': '580', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 36, tzinfo=tzutc()), 'ContentLength': 580, 'ETag': '"1d618db65765ad3e9325f8ce6eb88cb7-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:38,726 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:9e7331b8f4bbe798fca28aac7f6844896b436984b3412076e2890069b3ef397e', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,729 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [33, None, 1758876158729, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,732 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:0df49d0e46a24f094d82b5fe5cb961d1c413640031745d802a4e82d50d8a50bb', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,737 [257] [DEBUG] [peewee] ('SELECT "t1"."uuid" FROM "imagestorage" AS "t1" INNER JOIN "uploadedblob" AS "t2" ON ("t2"."blob_id" = "t1"."id") WHERE (("t2"."repository_id" = %s) AND ("t1"."content_checksum" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,741 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."storage_id", "t1"."location_id", "t2"."id", "t2"."uuid", "t2"."image_size", "t2"."uncompressed_size", "t2"."uploading", "t2"."cas_path", "t2"."content_checksum" FROM "imagestorageplacement" AS "t1" INNER JOIN "imagestorage" AS "t2" ON ("t1"."storage_id" = "t2"."id") WHERE ("t2"."uuid" = %s)', ['37f91066-f5b2-4e81-92b5-371c0ef960d9']) gunicorn-registry stdout | 2025-09-26 08:37:38,745 [257] [DEBUG] [boto3.resources.factory] Loading s3:Object gunicorn-registry stdout | 2025-09-26 08:37:38,746 [257] [DEBUG] [botocore.hooks] Event creating-resource-class.s3.Object: calling handler ._handler at 0x7fc5109cede0> gunicorn-registry stdout | 2025-09-26 08:37:38,746 [257] [DEBUG] [boto3.resources.action] Calling s3:get_object with {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c'} gunicorn-registry stdout | 2025-09-26 08:37:38,746 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,746 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,746 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,746 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,747 [257] [DEBUG] [botocore.hooks] Event before-parameter-build.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,747 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,747 [257] [DEBUG] [botocore.hooks] Event before-endpoint-resolution.s3: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,747 [257] [DEBUG] [botocore.regions] Calling endpoint provider with parameters: {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Region': 'us-east-1', 'UseFIPS': False, 'UseDualStack': False, 'Endpoint': 'https://s3.openshift-storage.svc.cluster.local:443', 'ForcePathStyle': True, 'Accelerate': False, 'UseGlobalEndpoint': True, 'DisableMultiRegionAccessPoints': False, 'UseArnRegion': True} gunicorn-registry stdout | 2025-09-26 08:37:38,747 [257] [DEBUG] [botocore.regions] Endpoint provider result: https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084 gunicorn-registry stdout | 2025-09-26 08:37:38,747 [257] [DEBUG] [botocore.regions] Selecting from endpoint provider's list of auth schemes: "sigv4". User selected auth scheme is: "None" gunicorn-registry stdout | 2025-09-26 08:37:38,747 [257] [DEBUG] [botocore.regions] Selected auth type "v4" as "v4" with signing context params: {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True} gunicorn-registry stdout | 2025-09-26 08:37:38,747 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,747 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,747 [257] [DEBUG] [botocore.hooks] Event before-call.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,747 [257] [DEBUG] [botocore.endpoint] Making request for OperationModel(name=GetObject) with params: {'url_path': '/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'query_string': {}, 'method': 'GET', 'headers': {'User-Agent': 'Boto3/1.28.61 md/Botocore#1.31.61 ua/2.0 os/linux#5.14.0-570.48.1.el9_6.x86_64 md/arch#x86_64 lang/python#3.12.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.31.61 Resource'}, 'body': b'', 'auth_path': '/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'url': 'https://s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c', 'context': {'client_region': 'us-east-1', 'client_config': , 'has_streaming_input': False, 'auth_type': 'v4', 's3_redirect': {'redirected': False, 'bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'params': {'Bucket': 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084', 'Key': 'datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c'}}, 'signing': {'region': 'us-east-1', 'signing_name': 's3', 'disableDoubleEncoding': True}}} gunicorn-registry stdout | 2025-09-26 08:37:38,747 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,747 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,747 [257] [DEBUG] [botocore.hooks] Event choose-signer.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,747 [257] [DEBUG] [botocore.hooks] Event before-sign.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,748 [257] [DEBUG] [botocore.auth] Calculating signature using v4 auth. gunicorn-registry stdout | 2025-09-26 08:37:38,748 [257] [DEBUG] [botocore.auth] CanonicalRequest: gunicorn-registry stdout | GET gunicorn-registry stdout | /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c gunicorn-registry stdout | host:s3.openshift-storage.svc.cluster.local gunicorn-registry stdout | x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | x-amz-date:20250926T083738Z gunicorn-registry stdout | host;x-amz-content-sha256;x-amz-date gunicorn-registry stdout | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 gunicorn-registry stdout | 2025-09-26 08:37:38,748 [257] [DEBUG] [botocore.auth] StringToSign: gunicorn-registry stdout | AWS4-HMAC-SHA256 gunicorn-registry stdout | 20250926T083738Z gunicorn-registry stdout | 20250926/us-east-1/s3/aws4_request gunicorn-registry stdout | 27f9f3302087ac5772b8da7bc3f793d085cbbaabe79865a9ebcb92981c10ab0f gunicorn-registry stdout | 2025-09-26 08:37:38,748 [257] [DEBUG] [botocore.auth] Signature: gunicorn-registry stdout | 4854ec936d4b902bec910588971c7ea4c0ec8cd16e544b4678ff81bd8818c900 gunicorn-registry stdout | 2025-09-26 08:37:38,748 [257] [DEBUG] [botocore.hooks] Event request-created.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,748 [257] [DEBUG] [botocore.endpoint] Sending http request: gunicorn-registry stdout | 2025-09-26 08:37:38,748 [257] [DEBUG] [botocore.httpsession] Certificate path: /app/lib/python3.12/site-packages/certifi/cacert.pem gunicorn-registry stdout | 2025-09-26 08:37:38,762 [257] [DEBUG] [urllib3.connectionpool] https://s3.openshift-storage.svc.cluster.local:443 "GET /quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/31/3153bed47c27c01ddc927f6f3c175e3eca5cc84d267fe30eec15a0872eabe70c HTTP/1.1" 200 241 gunicorn-registry stdout | 2025-09-26 08:37:38,762 [257] [DEBUG] [botocore.parsers] Response headers: {'Server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9uf1-f5ujqe-15d', 'x-amz-id-2': 'mg0l9uf1-f5ujqe-15d', 'ETag': '"63472c4a7b658d4fbe924d527c3ee8f8-1"', 'Last-Modified': 'Fri, 26 Sep 2025 08:37:37 GMT', 'Content-Type': 'application/octet-stream', 'Content-Length': '241', 'Accept-Ranges': 'bytes', 'Date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=5'} gunicorn-registry stdout | 2025-09-26 08:37:38,762 [257] [DEBUG] [botocore.parsers] Response body: gunicorn-registry stdout | gunicorn-registry stdout | 2025-09-26 08:37:38,763 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler gunicorn-registry stdout | 2025-09-26 08:37:38,763 [257] [DEBUG] [botocore.retryhandler] No retry needed. gunicorn-registry stdout | 2025-09-26 08:37:38,763 [257] [DEBUG] [botocore.hooks] Event needs-retry.s3.GetObject: calling handler > gunicorn-registry stdout | 2025-09-26 08:37:38,763 [257] [DEBUG] [boto3.resources.action] Response: {'ResponseMetadata': {'RequestId': 'mg0l9uf1-f5ujqe-15d', 'HostId': 'mg0l9uf1-f5ujqe-15d', 'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'NooBaa/5.19.4-3154414', 'x-amz-request-id': 'mg0l9uf1-f5ujqe-15d', 'x-amz-id-2': 'mg0l9uf1-f5ujqe-15d', 'etag': '"63472c4a7b658d4fbe924d527c3ee8f8-1"', 'last-modified': 'Fri, 26 Sep 2025 08:37:37 GMT', 'content-type': 'application/octet-stream', 'content-length': '241', 'accept-ranges': 'bytes', 'date': 'Fri, 26 Sep 2025 08:37:38 GMT', 'connection': 'keep-alive', 'keep-alive': 'timeout=5'}, 'RetryAttempts': 0}, 'AcceptRanges': 'bytes', 'LastModified': datetime.datetime(2025, 9, 26, 8, 37, 37, tzinfo=tzutc()), 'ContentLength': 241, 'ETag': '"63472c4a7b658d4fbe924d527c3ee8f8-1"', 'ContentType': 'application/octet-stream', 'Metadata': {}, 'Body': } gunicorn-registry stdout | 2025-09-26 08:37:38,765 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."repository_id" = %s) AND ("t1"."digest" = %s)) LIMIT %s OFFSET %s', [3, 'sha256:0df49d0e46a24f094d82b5fe5cb961d1c413640031745d802a4e82d50d8a50bb', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,768 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id" FROM "tag" AS "t1" WHERE (("t1"."manifest_id" = %s) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" >= %s))) LIMIT %s OFFSET %s', [34, None, 1758876158767, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,771 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."digest" = %s) AND ("t1"."repository_id" = %s)) LIMIT %s OFFSET %s', ['sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1', 3, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,775 [257] [DEBUG] [peewee] ('INSERT INTO "manifest" ("repository_id", "digest", "media_type_id", "manifest_bytes", "config_media_type", "layers_compressed_size", "subject", "subject_backfilled", "artifact_type", "artifact_type_backfilled") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "manifest"."id"', [3, 'sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1', 17, '{"manifests":[{"annotations":{"com.docker.official-images.bashbrew.arch":"amd64","org.opencontainers.image.base.name":"scratch","org.opencontainers.image.created":"2025-07-15T18:59:20Z","org.opencontainers.image.revision":"01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e","org.opencontainers.image.source":"https:\\/\\/github.com\\/alpinelinux\\/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:x86_64","org.opencontainers.image.url":"https:\\/\\/hub.docker.com\\/_\\/alpine","org.opencontainers.image.version":"3.22.1"},"digest":"sha256:eafc1edb577d2e9b458664a15f23ea1c370214193226069eb22921169fc7e43f","mediaType":"application\\/vnd.oci.image.manifest.v1+json","platform":{"architecture":"amd64","os":"linux"},"size":1022},{"annotations":{"com.docker.official-images.bashbrew.arch":"amd64","vnd.docker.reference.digest":"sha256:eafc1edb577d2e9b458664a15f23ea1c370214193226069eb22921169fc7e43f","vnd.docker.reference.type":"attestation-manifest"},"digest":"sha256:647e9d4b0e5b749e7b0ae8ea3dfd6ef75cff43b09282a4fd16dd0c56963a5edf","mediaType":"application\\/vnd.oci.image.manifest.v1+json","platform":{"architecture":"unknown","os":"unknown"},"size":838},{"annotations":{"com.docker.official-images.bashbrew.arch":"arm32v6","org.opencontainers.image.base.name":"scratch","org.opencontainers.image.created":"2025-07-15T18:59:02Z","org.opencontainers.image.revision":"01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e","org.opencontainers.image.source":"https:\\/\\/github.com\\/alpinelinux\\/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:armhf","org.opencontainers.image.url":"https:\\/\\/hub.docker.com\\/_\\/alpine","org.opencontainers.image.version":"3.22.1"},"digest":"sha256:17389a4a082a13cc17be63544e87b4a4de24f2e0dd1c8a6d5d31b16abcde9128","mediaType":"application\\/vnd.oci.image.manifest.v1+json","platform":{"architecture":"arm","os":"linux","variant":"v6"},"size":1023},{"annotations":{"com.docker.official-images.bashbrew.arch":"arm32v6","vnd.docker.reference.digest":"sha256:17389a4a082a13cc17be63544e87b4a4de24f2e0dd1c8a6d5d31b16abcde9128","vnd.docker.reference.type":"attestation-manifest"},"digest":"sha256:20ff073fde2f60c8ecb1101f047df66b940ad58a6ea918e128df7cd95c5c2dac","mediaType":"application\\/vnd.oci.image.manifest.v1+json","platform":{"architecture":"unknown","os":"unknown"},"size":566},{"annotations":{"com.docker.official-images.bashbrew.arch":"arm32v7","org.opencontainers.image.base.name":"scratch","org.opencontainers.image.created":"2025-07-15T18:59:06Z","org.opencontainers.image.revision":"01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e","org.opencontainers.image.source":"https:\\/\\/github.com\\/alpinelinux\\/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:armv7","org.opencontainers.image.url":"https:\\/\\/hub.docker.com\\/_\\/alpine","org.opencontainers.image.version":"3.22.1"},"digest":"sha256:9a00b501930d225081164db0456189ebc25b9c7524989c38f4d77c0a96a9ca9a","mediaType":"application\\/vnd.oci.image.manifest.v1+json","platform":{"architecture":"arm","os":"linux","variant":"v7"},"size":1023},{"annotations":{"com.docker.official-images.bashbrew.arch":"arm32v7","vnd.docker.reference.digest":"sha256:9a00b501930d225081164db0456189ebc25b9c7524989c38f4d77c0a96a9ca9a","vnd.docker.reference.type":"attestation-manifest"},"digest":"sha256:12a8620b724859d164848054d3949a02212c5ac72fa80291e2e506c15cfcc4c6","mediaType":"application\\/vnd.oci.image.manifest.v1+json","platform":{"architecture":"unknown","os":"unknown"},"size":838},{"annotations":{"com.docker.official-images.bashbrew.arch":"arm64v8","org.opencontainers.image.base.name":"scratch","org.opencontainers.image.created":"2025-07-15T18:59:05Z","org.opencontainers.image.revision":"01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e","org.opencontainers.image.source":"https:\\/\\/github.com\\/alpinelinux\\/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:aarch64","org.opencontainers.image.url":"https:\\/\\/hub.docker.com\\/_\\/alpine","org.opencontainers.image.version":"3.22.1"},"digest":"sha256:4562b419adf48c5f3c763995d6014c123b3ce1d2e0ef2613b189779caa787192","mediaType":"application\\/vnd.oci.image.manifest.v1+json","platform":{"architecture":"arm64","os":"linux","variant":"v8"},"size":1025},{"annotations":{"com.docker.official-images.bashbrew.arch":"arm64v8","vnd.docker.reference.digest":"sha256:4562b419adf48c5f3c763995d6014c123b3ce1d2e0ef2613b189779caa787192","vnd.docker.reference.type":"attestation-manifest"},"digest":"sha256:9c8d97ecfb803aa789985856077ccd4fede4b34fbd1e712e0e9cdc208565332e","mediaType":"application\\/vnd.oci.image.manifest.v1+json","platform":{"architecture":"unknown","os":"unknown"},"size":838},{"annotations":{"com.docker.official-images.bashbrew.arch":"i386","org.opencontainers.image.base.name":"scratch","org.opencontainers.image.created":"2025-07-15T18:58:56Z","org.opencontainers.image.revision":"01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e","org.opencontainers.image.source":"https:\\/\\/github.com\\/alpinelinux\\/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:x86","org.opencontainers.image.url":"https:\\/\\/hub.docker.com\\/_\\/alpine","org.opencontainers.image.version":"3.22.1"},"digest":"sha256:0a88b42ba69d6b900848f9cb9151587bb82827d0aecfa222e51981fad97b5b9a","mediaType":"application\\/vnd.oci.image.manifest.v1+json","platform":{"architecture":"386","os":"linux"},"size":1018},{"annotations":{"com.docker.official-images.bashbrew.arch":"i386","vnd.docker.reference.digest":"sha256:0a88b42ba69d6b900848f9cb9151587bb82827d0aecfa222e51981fad97b5b9a","vnd.docker.reference.type":"attestation-manifest"},"digest":"sha256:b2fa67becb6440be30274faba2517139ef13ac375987cb92d201a09f63f81ed7","mediaType":"application\\/vnd.oci.image.manifest.v1+json","platform":{"architecture":"unknown","os":"unknown"},"size":838},{"annotations":{"com.docker.official-images.bashbrew.arch":"ppc64le","org.opencontainers.image.base.name":"scratch","org.opencontainers.image.created":"2025-07-15T18:58:52Z","org.opencontainers.image.revision":"01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e","org.opencontainers.image.source":"https:\\/\\/github.com\\/alpinelinux\\/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:ppc64le","org.opencontainers.image.url":"https:\\/\\/hub.docker.com\\/_\\/alpine","org.opencontainers.image.version":"3.22.1"},"digest":"sha256:e9025aa787330c0477c030dc7b7f134acadaf2c4a9dd9244ee43e575ffc92fa9","mediaType":"application\\/vnd.oci.image.manifest.v1+json","platform":{"architecture":"ppc64le","os":"linux"},"size":1025},{"annotations":{"com.docker.official-images.bashbrew.arch":"ppc64le","vnd.docker.reference.digest":"sha256:e9025aa787330c0477c030dc7b7f134acadaf2c4a9dd9244ee43e575ffc92fa9","vnd.docker.reference.type":"attestation-manifest"},"digest":"sha256:8bec0de62b43ed91fa736cf98c89e67e8b0593b1d543e02f2995a4ce80b17d1f","mediaType":"application\\/vnd.oci.image.manifest.v1+json","platform":{"architecture":"unknown","os":"unknown"},"size":838},{"annotations":{"com.docker.official-images.bashbrew.arch":"riscv64","org.opencontainers.image.base.name":"scratch","org.opencontainers.image.created":"2025-07-15T18:59:13Z","org.opencontainers.image.revision":"01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e","org.opencontainers.image.source":"https:\\/\\/github.com\\/alpinelinux\\/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:riscv64","org.opencontainers.image.url":"https:\\/\\/hub.docker.com\\/_\\/alpine","org.opencontainers.image.version":"3.22.1"},"digest":"sha256:5938519b4c46e95da0bb5accefcb8f3b5dde38f421b557ba2ff3f70d59706ab9","mediaType":"application\\/vnd.oci.image.manifest.v1+json","platform":{"architecture":"riscv64","os":"linux"},"size":1025},{"annotations":{"com.docker.official-images.bashbrew.arch":"riscv64","vnd.docker.reference.digest":"sha256:5938519b4c46e95da0bb5accefcb8f3b5dde38f421b557ba2ff3f70d59706ab9","vnd.docker.reference.type":"attestation-manifest"},"digest":"sha256:83a4745a9c165dd4da61a49ddb76550909859bf6ed62d41974e31559eec7fb8e","mediaType":"application\\/vnd.oci.image.manifest.v1+json","platform":{"architecture":"unknown","os":"unknown"},"size":838},{"annotations":{"com.docker.official-images.bashbrew.arch":"s390x","org.opencontainers.image.base.name":"scratch","org.opencontainers.image.created":"2025-07-15T18:59:23Z","org.opencontainers.image.revision":"01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e","org.opencontainers.image.source":"https:\\/\\/github.com\\/alpinelinux\\/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:s390x","org.opencontainers.image.url":"https:\\/\\/hub.docker.com\\/_\\/alpine","org.opencontainers.image.version":"3.22.1"},"digest":"sha256:9e7331b8f4bbe798fca28aac7f6844896b436984b3412076e2890069b3ef397e","mediaType":"application\\/vnd.oci.image.manifest.v1+json","platform":{"architecture":"s390x","os":"linux"},"size":1021},{"annotations":{"com.docker.official-images.bashbrew.arch":"s390x","vnd.docker.reference.digest":"sha256:9e7331b8f4bbe798fca28aac7f6844896b436984b3412076e2890069b3ef397e","vnd.docker.reference.type":"attestation-manifest"},"digest":"sha256:0df49d0e46a24f094d82b5fe5cb961d1c413640031745d802a4e82d50d8a50bb","mediaType":"application\\/vnd.oci.image.manifest.v1+json","platform":{"architecture":"unknown","os":"unknown"},"size":838}],"mediaType":"application\\/vnd.oci.image.index.v1+json","schemaVersion":2}', None, None, None, True, None, True]) gunicorn-registry stdout | 2025-09-26 08:37:38,779 [257] [DEBUG] [data.model.quota] no blobs found for manifest 35 in repository 3, skipping calculation gunicorn-registry stdout | 2025-09-26 08:37:38,779 [257] [DEBUG] [peewee] ('INSERT INTO "manifestchild" ("repository_id", "manifest_id", "child_manifest_id") VALUES (%s, %s, %s), (%s, %s, %s), (%s, %s, %s), (%s, %s, %s), (%s, %s, %s), (%s, %s, %s), (%s, %s, %s), (%s, %s, %s), (%s, %s, %s), (%s, %s, %s), (%s, %s, %s), (%s, %s, %s), (%s, %s, %s), (%s, %s, %s), (%s, %s, %s), (%s, %s, %s) RETURNING "manifestchild"."id"', [3, 35, 19, 3, 35, 20, 3, 35, 21, 3, 35, 22, 3, 35, 23, 3, 35, 24, 3, 35, 25, 3, 35, 26, 3, 35, 27, 3, 35, 28, 3, 35, 29, 3, 35, 30, 3, 35, 31, 3, 35, 32, 3, 35, 33, 3, 35, 34]) gunicorn-registry stdout | 2025-09-26 08:37:38,786 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,790 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,794 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,797 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-registry stdout | 2025-09-26 08:37:38,800 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."name" FROM "manifest" AS "t1" INNER JOIN "mediatype" AS "t2" ON ("t1"."media_type_id" = "t2"."id") WHERE ("t1"."id" = %s) LIMIT %s OFFSET %s', [35, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,805 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."repository_id", "t1"."manifest_id", "t1"."lifetime_start_ms", "t1"."lifetime_end_ms", "t1"."immutable", "t1"."hidden", "t1"."reversion", "t1"."tag_kind_id", "t1"."linked_tag_id", "t2"."id", "t2"."repository_id", "t2"."digest", "t2"."media_type_id", "t2"."manifest_bytes", "t2"."config_media_type", "t2"."layers_compressed_size", "t2"."subject", "t2"."subject_backfilled", "t2"."artifact_type", "t2"."artifact_type_backfilled" FROM "tag" AS "t1" INNER JOIN "manifest" AS "t2" ON ("t1"."manifest_id" = "t2"."id") WHERE (((("t1"."repository_id" = %s) AND ("t1"."name" = %s)) AND (("t1"."lifetime_end_ms" IS %s) OR ("t1"."lifetime_end_ms" > %s))) AND ("t1"."hidden" = %s)) LIMIT %s OFFSET %s', [3, 'alpine', None, 1758875858804, False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,809 [257] [DEBUG] [peewee] ('INSERT INTO "tag" ("name", "repository_id", "manifest_id", "lifetime_start_ms", "lifetime_end_ms", "immutable", "hidden", "reversion", "tag_kind_id") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "tag"."id"', ['alpine', 3, 35, 1758875858804, None, False, False, False, 1]) gunicorn-registry stdout | 2025-09-26 08:37:38,813 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,816 [257] [DEBUG] [util.audit] Checking publishing push_repo to the user events system gunicorn-registry stdout | 2025-09-26 08:37:38,816 [257] [DEBUG] [util.audit] Publishing push_repo to the user events system gunicorn-registry stdout | 2025-09-26 08:37:38,817 [257] [DEBUG] [util.audit] Logging the push_repo to analytics engine gunicorn-registry stdout | 2025-09-26 08:37:38,817 [257] [DEBUG] [util.audit] Resolving IP address 10.131.2.20 gunicorn-registry stdout | 2025-09-26 08:37:38,818 [257] [DEBUG] [util.audit] Resolved IP address 10.131.2.20 gunicorn-registry stdout | 2025-09-26 08:37:38,818 [257] [DEBUG] [util.audit] Logging the push_repo to logs system gunicorn-registry stdout | 2025-09-26 08:37:38,819 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."username" = %s) LIMIT %s OFFSET %s', ['testorg2', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:38,823 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "logentrykind" AS "t1"', []) gunicorn-registry stdout | 2025-09-26 08:37:38,828 [257] [DEBUG] [peewee] ('INSERT INTO "logentry3" ("kind_id", "account_id", "performer_id", "repository_id", "datetime", "ip", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s) RETURNING "logentry3"."id"', [42, 4, 1, 3, datetime.datetime(2025, 9, 26, 8, 37, 38, 818936), '10.131.2.20', '{"repo": "alpine", "namespace": "testorg2", "user-agent": "skopeo/1.14.5", "tag": "alpine", "username": "quay", "resolved_ip": {"provider": "internet", "service": null, "sync_token": "1645662201", "country_iso_code": null, "aws_region": null, "continent": null}}']) gunicorn-registry stdout | 2025-09-26 08:37:38,832 [257] [DEBUG] [util.audit] Track and log of push_repo complete gunicorn-registry stdout | 2025-09-26 08:37:38,833 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."repository_id", "t1"."event_id", "t1"."method_id", "t1"."title", "t1"."config_json", "t1"."event_config_json", "t1"."number_of_failures", "t1"."last_ran_ms", "t2"."id", "t2"."namespace_user_id", "t2"."name", "t2"."visibility_id", "t2"."description", "t2"."badge_token", "t2"."kind_id", "t2"."trust_enabled", "t2"."state", "t3"."id", "t3"."uuid", "t3"."username", "t3"."password_hash", "t3"."email", "t3"."verified", "t3"."stripe_id", "t3"."organization", "t3"."robot", "t3"."invoice_email", "t3"."invalid_login_attempts", "t3"."last_invalid_login", "t3"."removed_tag_expiration_s", "t3"."enabled", "t3"."invoice_email_address", "t3"."given_name", "t3"."family_name", "t3"."company", "t3"."location", "t3"."maximum_queued_builds_count", "t3"."creation_date", "t3"."last_accessed" FROM "repositorynotification" AS "t1" INNER JOIN "repository" AS "t2" ON ("t1"."repository_id" = "t2"."id") INNER JOIN "user" AS "t3" ON ("t2"."namespace_user_id" = "t3"."id") INNER JOIN "externalnotificationevent" AS "t4" ON ("t1"."event_id" = "t4"."id") WHERE ((("t3"."username" = %s) AND ("t2"."name" = %s)) AND ("t4"."name" = %s))', ['testorg2', 'alpine', 'repo_push']) gunicorn-registry stdout | 2025-09-26 08:37:38,838 [257] [DEBUG] [app] Ending request: urn:request:bba090b9-8b24-401b-80e7-eb709f9816c5 (/v2/testorg2/alpine/manifests/alpine) {'endpoint': 'v2.write_manifest_by_tagname', 'request_id': 'urn:request:bba090b9-8b24-401b-80e7-eb709f9816c5', 'remote_addr': '10.131.2.20', 'http_method': 'PUT', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/testorg2/alpine/manifests/alpine', 'path': '/v2/testorg2/alpine/manifests/alpine', 'parameters': {}, 'json_body': {'manifests': [{'annotations': {'com.docker.official-images.bashbrew.arch': 'amd64', 'org.opencontainers.image.base.name': 'scratch', 'org.opencontainers.image.created': '2025-07-15T18:59:20Z', 'org.opencontainers.image.revision': '01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e', 'org.opencontainers.image.source': 'https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:x86_64', 'org.opencontainers.image.url': 'https://hub.docker.com/_/alpine', 'org.opencontainers.image.version': '3.22.1'}, 'digest': 'sha256:eafc1edb577d2e9b458664a15f23ea1c370214193226069eb22921169fc7e43f', 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'platform': {'architecture': 'amd64', 'os': 'linux'}, 'size': 1022}, {'annotations': {'com.docker.official-images.bashbrew.arch': 'amd64', 'vnd.docker.reference.digest': 'sha256:eafc1edb577d2e9b458664a15f23ea1c370214193226069eb22921169fc7e43f', 'vnd.docker.reference.type': 'attestation-manifest'}, 'digest': 'sha256:647e9d4b0e5b749e7b0ae8ea3dfd6ef75cff43b09282a4fd16dd0c56963a5edf', 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'platform': {'architecture': 'unknown', 'os': 'unknown'}, 'size': 838}, {'annotations': {'com.docker.official-images.bashbrew.arch': 'arm32v6', 'org.opencontainers.image.base.name': 'scratch', 'org.opencontainers.image.created': '2025-07-15T18:59:02Z', 'org.opencontainers.image.revision': '01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e', 'org.opencontainers.image.source': 'https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:armhf', 'org.opencontainers.image.url': 'https://hub.docker.com/_/alpine', 'org.opencontainers.image.version': '3.22.1'}, 'digest': 'sha256:17389a4a082a13cc17be63544e87b4a4de24f2e0dd1c8a6d5d31b16abcde9128', 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'platform': {'architecture': 'arm', 'os': 'linux', 'variant': 'v6'}, 'size': 1023}, {'annotations': {'com.docker.official-images.bashbrew.arch': 'arm32v6', 'vnd.docker.reference.digest': 'sha256:17389a4a082a13cc17be63544e87b4a4de24f2e0dd1c8a6d5d31b16abcde9128', 'vnd.docker.reference.type': 'attestation-manifest'}, 'digest': 'sha256:20ff073fde2f60c8ecb1101f047df66b940ad58a6ea918e128df7cd95c5c2dac', 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'platform': {'architecture': 'unknown', 'os': 'unknown'}, 'size': 566}, {'annotations': {'com.docker.official-images.bashbrew.arch': 'arm32v7', 'org.opencontainers.image.base.name': 'scratch', 'org.opencontainers.image.created': '2025-07-15T18:59:06Z', 'org.opencontainers.image.revision': '01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e', 'org.opencontainers.image.source': 'https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:armv7', 'org.opencontainers.image.url': 'https://hub.docker.com/_/alpine', 'org.opencontainers.image.version': '3.22.1'}, 'digest': 'sha256:9a00b501930d225081164db0456189ebc25b9c7524989c38f4d77c0a96a9ca9a', 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'platform': {'architecture': 'arm', 'os': 'linux', 'variant': 'v7'}, 'size': 1023}, {'annotations': {'com.docker.official-images.bashbrew.arch': 'arm32v7', 'vnd.docker.reference.digest': 'sha256:9a00b501930d225081164db0456189ebc25b9c7524989c38f4d77c0a96a9ca9a', 'vnd.docker.reference.type': 'attestation-manifest'}, 'digest': 'sha256:12a8620b724859d164848054d3949a02212c5ac72fa80291e2e506c15cfcc4c6', 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'platform': {'architecture': 'unknown', 'os': 'unknown'}, 'size': 838}, {'annotations': {'com.docker.official-images.bashbrew.arch': 'arm64v8', 'org.opencontainers.image.base.name': 'scratch', 'org.opencontainers.image.created': '2025-07-15T18:59:05Z', 'org.opencontainers.image.revision': '01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e', 'org.opencontainers.image.source': 'https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:aarch64', 'org.opencontainers.image.url': 'https://hub.docker.com/_/alpine', 'org.opencontainers.image.version': '3.22.1'}, 'digest': 'sha256:4562b419adf48c5f3c763995d6014c123b3ce1d2e0ef2613b189779caa787192', 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'platform': {'architecture': 'arm64', 'os': 'linux', 'variant': 'v8'}, 'size': 1025}, {'annotations': {'com.docker.official-images.bashbrew.arch': 'arm64v8', 'vnd.docker.reference.digest': 'sha256:4562b419adf48c5f3c763995d6014c123b3ce1d2e0ef2613b189779caa787192', 'vnd.docker.reference.type': 'attestation-manifest'}, 'digest': 'sha256:9c8d97ecfb803aa789985856077ccd4fede4b34fbd1e712e0e9cdc208565332e', 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'platform': {'architecture': 'unknown', 'os': 'unknown'}, 'size': 838}, {'annotations': {'com.docker.official-images.bashbrew.arch': 'i386', 'org.opencontainers.image.base.name': 'scratch', 'org.opencontainers.image.created': '2025-07-15T18:58:56Z', 'org.opencontainers.image.revision': '01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e', 'org.opencontainers.image.source': 'https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:x86', 'org.opencontainers.image.url': 'https://hub.docker.com/_/alpine', 'org.opencontainers.image.version': '3.22.1'}, 'digest': 'sha256:0a88b42ba69d6b900848f9cb9151587bb82827d0aecfa222e51981fad97b5b9a', 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'platform': {'architecture': '386', 'os': 'linux'}, 'size': 1018}, {'annotations': {'com.docker.official-images.bashbrew.arch': 'i386', 'vnd.docker.reference.digest': 'sha256:0a88b42ba69d6b900848f9cb9151587bb82827d0aecfa222e51981fad97b5b9a', 'vnd.docker.reference.type': 'attestation-manifest'}, 'digest': 'sha256:b2fa67becb6440be30274faba2517139ef13ac375987cb92d201a09f63f81ed7', 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'platform': {'architecture': 'unknown', 'os': 'unknown'}, 'size': 838}, {'annotations': {'com.docker.official-images.bashbrew.arch': 'ppc64le', 'org.opencontainers.image.base.name': 'scratch', 'org.opencontainers.image.created': '2025-07-15T18:58:52Z', 'org.opencontainers.image.revision': '01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e', 'org.opencontainers.image.source': 'https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:ppc64le', 'org.opencontainers.image.url': 'https://hub.docker.com/_/alpine', 'org.opencontainers.image.version': '3.22.1'}, 'digest': 'sha256:e9025aa787330c0477c030dc7b7f134acadaf2c4a9dd9244ee43e575ffc92fa9', 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'platform': {'architecture': 'ppc64le', 'os': 'linux'}, 'size': 1025}, {'annotations': {'com.docker.official-images.bashbrew.arch': 'ppc64le', 'vnd.docker.reference.digest': 'sha256:e9025aa787330c0477c030dc7b7f134acadaf2c4a9dd9244ee43e575ffc92fa9', 'vnd.docker.reference.type': 'attestation-manifest'}, 'digest': 'sha256:8bec0de62b43ed91fa736cf98c89e67e8b0593b1d543e02f2995a4ce80b17d1f', 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'platform': {'architecture': 'unknown', 'os': 'unknown'}, 'size': 838}, {'annotations': {'com.docker.official-images.bashbrew.arch': 'riscv64', 'org.opencontainers.image.base.name': 'scratch', 'org.opencontainers.image.created': '2025-07-15T18:59:13Z', 'org.opencontainers.image.revision': '01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e', 'org.opencontainers.image.source': 'https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:riscv64', 'org.opencontainers.image.url': 'https://hub.docker.com/_/alpine', 'org.opencontainers.image.version': '3.22.1'}, 'digest': 'sha256:5938519b4c46e95da0bb5accefcb8f3b5dde38f421b557ba2ff3f70d59706ab9', 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'platform': {'architecture': 'riscv64', 'os': 'linux'}, 'size': 1025}, {'annotations': {'com.docker.official-images.bashbrew.arch': 'riscv64', 'vnd.docker.reference.digest': 'sha256:5938519b4c46e95da0bb5accefcb8f3b5dde38f421b557ba2ff3f70d59706ab9', 'vnd.docker.reference.type': 'attestation-manifest'}, 'digest': 'sha256:83a4745a9c165dd4da61a49ddb76550909859bf6ed62d41974e31559eec7fb8e', 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'platform': {'architecture': 'unknown', 'os': 'unknown'}, 'size': 838}, {'annotations': {'com.docker.official-images.bashbrew.arch': 's390x', 'org.opencontainers.image.base.name': 'scratch', 'org.opencontainers.image.created': '2025-07-15T18:59:23Z', 'org.opencontainers.image.revision': '01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e', 'org.opencontainers.image.source': 'https://github.com/alpinelinux/docker-alpine.git#01dd5fbd09e25f6c040627eedf18bbfccfa9ad6e:s390x', 'org.opencontainers.image.url': 'https://hub.docker.com/_/alpine', 'org.opencontainers.image.version': '3.22.1'}, 'digest': 'sha256:9e7331b8f4bbe798fca28aac7f6844896b436984b3412076e2890069b3ef397e', 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'platform': {'architecture': 's390x', 'os': 'linux'}, 'size': 1021}, {'annotations': {'com.docker.official-images.bashbrew.arch': 's390x', 'vnd.docker.reference.digest': 'sha256:9e7331b8f4bbe798fca28aac7f6844896b436984b3412076e2890069b3ef397e', 'vnd.docker.reference.type': 'attestation-manifest'}, 'digest': 'sha256:0df49d0e46a24f094d82b5fe5cb961d1c413640031745d802a4e82d50d8a50bb', 'mediaType': 'application/vnd.oci.image.manifest.v1+json', 'platform': {'architecture': 'unknown', 'os': 'unknown'}, 'size': 838}], 'mediaType': 'application/vnd.oci.image.index.v1+json', 'schemaVersion': 2}, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:38,838 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:38,838 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. gunicorn-registry stdout | 2025-09-26 08:37:38,839 [257] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:38 +0000] "PUT /v2/testorg2/alpine/manifests/alpine HTTP/1.1" 201 2 "-" "skopeo/1.14.5" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:38 +0000] "PUT /v2/testorg2/alpine/manifests/alpine HTTP/1.1" 201 2 "-" "skopeo/1.14.5" (0.796 10974 0.796) gunicorn-registry stdout | 2025-09-26 08:37:38,845 [257] [DEBUG] [data.userevent] Published user event docker-cli: {'action': 'push_repo', 'repository': 'alpine', 'namespace': 'testorg2'} proxycacheblobworker stdout | 2025-09-26 08:37:39,217 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} repositorygcworker stdout | 2025-09-26 08:37:39,235 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:37:39,236 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:23.149141+00:00 (in 43.913016 seconds) repositorygcworker stdout | 2025-09-26 08:37:39,236 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:39 GMT)" (scheduled at 2025-09-26 08:37:39.235682+00:00) repositorygcworker stdout | 2025-09-26 08:37:39,236 [86] [DEBUG] [workers.queueworker] Running watchdog. repositorygcworker stdout | 2025-09-26 08:37:39,236 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:39 GMT)" executed successfully buildlogsarchiver stdout | 2025-09-26 08:37:39,351 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:37:39,352 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:09.351551+00:00 (in 29.999537 seconds) buildlogsarchiver stdout | 2025-09-26 08:37:39,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:09 GMT)" (scheduled at 2025-09-26 08:37:39.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:37:39,352 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 37, 39, 352324), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:37:39,366 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:37:39,366 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:37:39,366 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:09 GMT)" executed successfully gunicorn-registry stdout | 2025-09-26 08:37:39,544 [250] [DEBUG] [app] Starting request: urn:request:1ff74f95-ba9b-4599-9c21-053bf2b5551e (/v2/) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:39,544 [250] [DEBUG] [auth.registry_jwt_auth] Called with params: (), {} gunicorn-registry stdout | 2025-09-26 08:37:39,544 [250] [DEBUG] [auth.registry_jwt_auth] Validating auth header: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODU5LCJpYXQiOjE3NTg4NzU4NTksImV4cCI6MTc1ODg3OTQ1OSwic3ViIjoicXVheSIsImFjY2VzcyI6W10sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7fSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.U4ohSApDZQKu_1PT6iH2D4Yj1khDszvdRgCJSOwtQyAeVo6cw9zdLl1eOU6sJ3SrxFtWKlgGhXm859O-buIi1uoT-JzwcTuX8C5nUr26N9Fze6XvWQdzqzt9PIZX5tOa8rgLowJBUNsI1cDYvATzrPPs9eciivIDKrb_8tFsYS3sCtzmv2XzRjtAFMjaGQHPHXlkCLDjd2_tG9Pt4eHjCf9Ig1PL6vGTYfl1DXPmdKSNpWrBGaWpKMamXxzDQirfftELBoSNp12mqVYnWEXor16dDNTH60EdvbfPjE6fKzi-3DvzJ276UjFEMLFBB_fFdbi4D2TU5qq7U4691Q-C_A gunicorn-registry stdout | 2025-09-26 08:37:39,544 [250] [DEBUG] [util.security.registry_jwt] encoded JWT: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODU5LCJpYXQiOjE3NTg4NzU4NTksImV4cCI6MTc1ODg3OTQ1OSwic3ViIjoicXVheSIsImFjY2VzcyI6W10sImNvbnRleHQiOnsidmVyc2lvbiI6MiwiZW50aXR5X2tpbmQiOiJ1c2VyIiwiZW50aXR5X3JlZmVyZW5jZSI6IjlmNzc2ZGNlLTczNDctNGI2OS04YmQ1LTM2MjEwMzRkYjIzYyIsImtpbmQiOiJ1c2VyIiwidXNlciI6InF1YXkiLCJjb20uYXBvc3RpbGxlLnJvb3RzIjp7fSwiY29tLmFwb3N0aWxsZS5yb290IjoiJGRpc2FibGVkIn19.U4ohSApDZQKu_1PT6iH2D4Yj1khDszvdRgCJSOwtQyAeVo6cw9zdLl1eOU6sJ3SrxFtWKlgGhXm859O-buIi1uoT-JzwcTuX8C5nUr26N9Fze6XvWQdzqzt9PIZX5tOa8rgLowJBUNsI1cDYvATzrPPs9eciivIDKrb_8tFsYS3sCtzmv2XzRjtAFMjaGQHPHXlkCLDjd2_tG9Pt4eHjCf9Ig1PL6vGTYfl1DXPmdKSNpWrBGaWpKMamXxzDQirfftELBoSNp12mqVYnWEXor16dDNTH60EdvbfPjE6fKzi-3DvzJ276UjFEMLFBB_fFdbi4D2TU5qq7U4691Q-C_A gunicorn-registry stdout | 2025-09-26 08:37:39,546 [250] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:39,546 [250] [DEBUG] [auth.permissions] Loaded signed_jwt identity for: quay gunicorn-registry stdout | 2025-09-26 08:37:39,546 [250] [DEBUG] [auth.registry_jwt_auth] Identity changed to quay gunicorn-registry stdout | 2025-09-26 08:37:39,546 [250] [DEBUG] [auth.registry_jwt_auth] Auth context set to {'version': 2, 'entity_kind': 'user', 'entity_reference': '9f776dce-7347-4b69-8bd5-3621034db23c', 'kind': 'user', 'user': 'quay', 'com.apostille.roots': {}, 'com.apostille.root': '$disabled'} gunicorn-registry stdout | 2025-09-26 08:37:39,547 [250] [DEBUG] [app] Ending request: urn:request:1ff74f95-ba9b-4599-9c21-053bf2b5551e (/v2/) {'endpoint': 'v2.v2_support_enabled', 'request_id': 'urn:request:1ff74f95-ba9b-4599-9c21-053bf2b5551e', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/', 'path': '/v2/', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'containers/5.29.5 (github.com/containers/image)'} nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:39 +0000] "GET /v2/ HTTP/1.1" 200 4 "-" "containers/5.29.5 (github.com/containers/image)" (0.004 1546 0.004) gunicorn-registry stdout | 2025-09-26 08:37:39,547 [250] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:37:39 +0000] "GET /v2/ HTTP/1.1" 200 4 "-" "containers/5.29.5 (github.com/containers/image)" gunicorn-registry stdout | 2025-09-26 08:37:39,898 [257] [DEBUG] [app] Starting request: urn:request:2db79fc2-e330-406e-8b4c-6150c0125c45 (/v2/auth) {'X-Forwarded-For': '66.187.232.127, 10.131.2.20'} gunicorn-registry stdout | 2025-09-26 08:37:39,899 [257] [DEBUG] [auth.basic] Attempt to process basic auth header gunicorn-registry stdout | 2025-09-26 08:37:39,900 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) OR ("t1"."email" = %s)) LIMIT %s OFFSET %s', ['quay', 'quay', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:40,184 [257] [DEBUG] [auth.credentials] Successfully validated credentials for user quay gunicorn-registry stdout | 2025-09-26 08:37:40,184 [257] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-registry stdout | 2025-09-26 08:37:40,184 [257] [DEBUG] [auth.permissions] Identity loaded: gunicorn-registry stdout | 2025-09-26 08:37:40,184 [257] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-registry stdout | 2025-09-26 08:37:40,184 [257] [DEBUG] [endpoints.v2.v2auth] Request audience: quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com gunicorn-registry stdout | 2025-09-26 08:37:40,184 [257] [DEBUG] [endpoints.v2.v2auth] Scope request: [] gunicorn-registry stdout | 2025-09-26 08:37:40,185 [257] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."username" = %s) LIMIT %s OFFSET %s', ['quay', 1, 0]) gunicorn-registry stdout | 2025-09-26 08:37:40,189 [257] [DEBUG] [peewee] ('INSERT INTO "logentry3" ("kind_id", "account_id", "performer_id", "repository_id", "datetime", "ip", "metadata_json") VALUES (%s, %s, %s, %s, %s, %s, %s) RETURNING "logentry3"."id"', [97, 1, 1, None, datetime.datetime(2025, 9, 26, 8, 37, 40, 184757), '10.131.2.20', '{"kind": "user", "type": "v2auth", "useragent": "skopeo/1.14.5"}']) gunicorn-registry stdout | 2025-09-26 08:37:40,201 [257] [DEBUG] [app] Ending request: urn:request:2db79fc2-e330-406e-8b4c-6150c0125c45 (/v2/auth) {'endpoint': 'v2.generate_registry_jwt', 'request_id': 'urn:request:2db79fc2-e330-406e-8b4c-6150c0125c45', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/v2/auth?account=quay&service=quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com', 'path': '/v2/auth', 'parameters': {'account': 'quay', 'service': 'quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com'}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'skopeo/1.14.5'} gunicorn-registry stdout | 2025-09-26 08:37:40,201 [257] [DEBUG] [data.database] Disconnecting from database. gunicorn-registry stdout | 2025-09-26 08:37:40,201 [257] [DEBUG] [peewee.pool] Returning 140484341653056 to pool. nginx stdout | 10.131.2.20 (-) - quay [26/Sep/2025:08:37:40 +0000] "GET /v2/auth?account=quay&service=quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com HTTP/1.1" 200 963 "-" "skopeo/1.14.5" (0.305 647 0.304) gunicorn-registry stdout | 2025-09-26 08:37:40,202 [257] [INFO] [gunicorn.access] 10.131.2.20 - quay [26/Sep/2025:08:37:40 +0000] "GET /v2/auth?account=quay&service=quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com HTTP/1.1" 200 963 "-" "skopeo/1.14.5" gunicorn-registry stdout | 2025-09-26 08:37:40,206 [257] [DEBUG] [data.userevent] Published user event docker-cli: {'action': 'login'} manifestbackfillworker stdout | 2025-09-26 08:37:40,308 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} gunicorn-web stdout | 2025-09-26 08:37:40,550 [239] [DEBUG] [app] Starting request: urn:request:1dc7f4fd-aef2-4f1c-84a2-53407dddf77c (/_storage_proxy_auth) {'X-Forwarded-For': '3.131.182.156'} gunicorn-web stdout | 2025-09-26 08:37:40,550 [239] [DEBUG] [storage.downloadproxy] Got token b'eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODYwLCJpYXQiOjE3NTg4NzU4NjAsImV4cCI6MTc1ODg3NjQ2MCwic3ViIjoic3RvcmFnZXByb3h5IiwiYWNjZXNzIjpbeyJ0eXBlIjoic3RvcmFnZXByb3h5IiwidXJpIjoicXVheS1kYXRhc3RvcmUtZTI5YzM5OTQtNjJlYi00ZTlmLTk1NTAtYmFhMTFmODc0MDg0L2RhdGFzdG9yYWdlL3JlZ2lzdHJ5L3NoYTI1Ni9jYi9jYmU3MDgwYjU3ODNkZTEwNGFkNjdmZjQ1OTViZmE4YWU3MGE1OTcxODFhODQ2MjFmNTFjNWNjZDA4NDIxOGRhP0FXU0FjY2Vzc0tleUlkPUtxVUFodjYwQUdsQUREcTBNY0taJlNpZ25hdHVyZT1ZaW5saUN2blFkcmVVR2hGNVl5VUlRVzlVcVklM0QmRXhwaXJlcz0xNzU4ODc2NDYwIiwiaG9zdCI6InMzLm9wZW5zaGlmdC1zdG9yYWdlLnN2Yy5jbHVzdGVyLmxvY2FsOjQ0MyIsInNjaGVtZSI6Imh0dHBzIn1dLCJjb250ZXh0Ijp7fX0.I-Hju7Q3FZyELVY1Td6iq4oaKeMEemsGW-yLw8h-P-WGlgJZytI3jjkiZj96v56Zc1KhL4MgES3IMWWdzGnfpRYf6uRtdBXLuGoive3hJWrCnBN5D8c3b2KRpE55Kbqj4mVySK7qQq8Zw7stIjNROVpSvtpG0PMy-5GEv7Nuo1jdedTOWH_Yc9wry6Xklqt8DAQE4bUhA68OEtpSvujHUGqZLJNxCdEW9YgKOhGNCemCUYE98zjVxn7NpqLXnFzfaAztmr9RcUbTWr-fylrcnvqHXhZpMZwJ9rdDP5Ni6ToHrHnmLZ2ULZiGJpZKwL67QWWOu-msC1c0IBkfhuJM6w' for storage proxy auth request /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EWXdMQ0pwWVhRaU9qRTNOVGc0TnpVNE5qQXNJbVY0Y0NJNk1UYzFPRGczTmpRMk1Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5allpOWpZbVUzTURnd1lqVTNPRE5rWlRFd05HRmtOamRtWmpRMU9UVmlabUU0WVdVM01HRTFPVGN4T0RGaE9EUTJNakZtTlRGak5XTmpaREE0TkRJeE9HUmhQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFaYVc1c2FVTjJibEZrY21WVlIyaEdOVmw1VlVsUlZ6bFZjVmtsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRZd0lpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuSS1IanU3UTNGWnlFTFZZMVRkNmlxNG9hS2VNRWVtc0dXLXlMdzhoLVAtV0dsZ0paeXRJM2pqa2laajk2djU2WmMxS2hMNE1nRVMzSU1XV2R6R25mcFJZZjZ1UnRkQlhMdUdvaXZlM2hKV3JDbkJONUQ4YzNiMktScEU1NUticWo0bVZ5U0s3cVFxOFp3N3N0SWpOUk9WcFN2dHBHMFBNeS01R0V2N051bzFqZGVkVE9XSF9ZYzl3cnk2WGtscXQ4REFRRTRiVWhBNjhPRXRwU3Z1akhVR3FaTEpOeENkRVc5WWdLT2hHTkNlbUNVWUU5OHpqVnhuN05wcUxYbkZ6ZmFBenRtcjlSY1ViVFdyLWZ5bHJjbnZxSFhoWnBNWndKOXJkRFA1Tmk2VG9IckhubUxaMlVMWmlHSnBaS3dMNjdRV1dPdS1tc0MxYzBJQmtmaHVKTTZ3/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cb/cbe7080b5783de104ad67ff4595bfa8ae70a597181a84621f51c5ccd084218da?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=YinliCvnQdreUGhF5YyUIQW9UqY%3D&Expires=1758876460 with parts ['ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EWXdMQ0pwWVhRaU9qRTNOVGc0TnpVNE5qQXNJbVY0Y0NJNk1UYzFPRGczTmpRMk1Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5allpOWpZbVUzTURnd1lqVTNPRE5rWlRFd05HRmtOamRtWmpRMU9UVmlabUU0WVdVM01HRTFPVGN4T0RGaE9EUTJNakZtTlRGak5XTmpaREE0TkRJeE9HUmhQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFaYVc1c2FVTjJibEZrY21WVlIyaEdOVmw1VlVsUlZ6bFZjVmtsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRZd0lpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuSS1IanU3UTNGWnlFTFZZMVRkNmlxNG9hS2VNRWVtc0dXLXlMdzhoLVAtV0dsZ0paeXRJM2pqa2laajk2djU2WmMxS2hMNE1nRVMzSU1XV2R6R25mcFJZZjZ1UnRkQlhMdUdvaXZlM2hKV3JDbkJONUQ4YzNiMktScEU1NUticWo0bVZ5U0s3cVFxOFp3N3N0SWpOUk9WcFN2dHBHMFBNeS01R0V2N051bzFqZGVkVE9XSF9ZYzl3cnk2WGtscXQ4REFRRTRiVWhBNjhPRXRwU3Z1akhVR3FaTEpOeENkRVc5WWdLT2hHTkNlbUNVWUU5OHpqVnhuN05wcUxYbkZ6ZmFBenRtcjlSY1ViVFdyLWZ5bHJjbnZxSFhoWnBNWndKOXJkRFA1Tmk2VG9IckhubUxaMlVMWmlHSnBaS3dMNjdRV1dPdS1tc0MxYzBJQmtmaHVKTTZ3', 'https', 's3.openshift-storage.svc.cluster.local:443', 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cb/cbe7080b5783de104ad67ff4595bfa8ae70a597181a84621f51c5ccd084218da?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=YinliCvnQdreUGhF5YyUIQW9UqY%3D&Expires=1758876460'] gunicorn-web stdout | 2025-09-26 08:37:40,551 [239] [DEBUG] [app] Ending request: urn:request:1dc7f4fd-aef2-4f1c-84a2-53407dddf77c (/_storage_proxy_auth) {'endpoint': '_storage_proxy_auth', 'request_id': 'urn:request:1dc7f4fd-aef2-4f1c-84a2-53407dddf77c', 'remote_addr': '3.131.182.156', 'http_method': 'GET', 'original_url': 'https://web_app_server/_storage_proxy_auth', 'path': '/_storage_proxy_auth', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Go-http-client/1.1'} gunicorn-web stdout | 2025-09-26 08:37:40,551 [239] [INFO] [gunicorn.access] 3.131.182.156 - - [26/Sep/2025:08:37:40 +0000] "GET /_storage_proxy_auth HTTP/1.0" 200 2 "-" "Go-http-client/1.1" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:40 +0000] "GET /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EWXdMQ0pwWVhRaU9qRTNOVGc0TnpVNE5qQXNJbVY0Y0NJNk1UYzFPRGczTmpRMk1Dd2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk5allpOWpZbVUzTURnd1lqVTNPRE5rWlRFd05HRmtOamRtWmpRMU9UVmlabUU0WVdVM01HRTFPVGN4T0RGaE9EUTJNakZtTlRGak5XTmpaREE0TkRJeE9HUmhQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDFaYVc1c2FVTjJibEZrY21WVlIyaEdOVmw1VlVsUlZ6bFZjVmtsTTBRbVJYaHdhWEpsY3oweE56VTRPRGMyTkRZd0lpd2lhRzl6ZENJNkluTXpMbTl3Wlc1emFHbG1kQzF6ZEc5eVlXZGxMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNPalEwTXlJc0luTmphR1Z0WlNJNkltaDBkSEJ6SW4xZExDSmpiMjUwWlhoMElqcDdmWDAuSS1IanU3UTNGWnlFTFZZMVRkNmlxNG9hS2VNRWVtc0dXLXlMdzhoLVAtV0dsZ0paeXRJM2pqa2laajk2djU2WmMxS2hMNE1nRVMzSU1XV2R6R25mcFJZZjZ1UnRkQlhMdUdvaXZlM2hKV3JDbkJONUQ4YzNiMktScEU1NUticWo0bVZ5U0s3cVFxOFp3N3N0SWpOUk9WcFN2dHBHMFBNeS01R0V2N051bzFqZGVkVE9XSF9ZYzl3cnk2WGtscXQ4REFRRTRiVWhBNjhPRXRwU3Z1akhVR3FaTEpOeENkRVc5WWdLT2hHTkNlbUNVWUU5OHpqVnhuN05wcUxYbkZ6ZmFBenRtcjlSY1ViVFdyLWZ5bHJjbnZxSFhoWnBNWndKOXJkRFA1Tmk2VG9IckhubUxaMlVMWmlHSnBaS3dMNjdRV1dPdS1tc0MxYzBJQmtmaHVKTTZ3/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/cb/cbe7080b5783de104ad67ff4595bfa8ae70a597181a84621f51c5ccd084218da?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=YinliCvnQdreUGhF5YyUIQW9UqY%3D&Expires=1758876460 HTTP/1.1" 200 3494444 "-" "Go-http-client/1.1" (0.290 2405 0.287) gunicorn-web stdout | 2025-09-26 08:37:42,048 [242] [DEBUG] [app] Starting request: urn:request:b55bd6ba-089c-4786-9161-c74a86dd5b0d (/_storage_proxy_auth) {'X-Forwarded-For': '3.131.182.156'} gunicorn-web stdout | 2025-09-26 08:37:42,048 [242] [DEBUG] [storage.downloadproxy] Got token b'eyJhbGciOiJSUzI1NiIsImtpZCI6IkRVcGdyU1J5amsyUElOVXUyY1lSTlZPZGdCNlNjcmFxa3NWdXV6a1MydFUiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJxdWF5IiwiYXVkIjoicXVheXJlZ2lzdHJ5LXF1YXktcXVheS1lbnRlcnByaXNlLTE1NDc1LmFwcHMucXVheXRlc3QtMTU0NzUucWUuZGV2Y2x1c3Rlci5vcGVuc2hpZnQuY29tIiwibmJmIjoxNzU4ODc1ODYxLCJpYXQiOjE3NTg4NzU4NjEsImV4cCI6MTc1ODg3NjQ2MSwic3ViIjoic3RvcmFnZXByb3h5IiwiYWNjZXNzIjpbeyJ0eXBlIjoic3RvcmFnZXByb3h5IiwidXJpIjoicXVheS1kYXRhc3RvcmUtZTI5YzM5OTQtNjJlYi00ZTlmLTk1NTAtYmFhMTFmODc0MDg0L2RhdGFzdG9yYWdlL3JlZ2lzdHJ5L3NoYTI1Ni81ZC81ZDI5NzU0Y2UwMzY5NjcwNzk0MDU0MDVhMDRhNTRhN2QzZjhiYTg1ZTAwNTdiNmJkZGEzZDAzYWE1OWM4MzYxP0FXU0FjY2Vzc0tleUlkPUtxVUFodjYwQUdsQUREcTBNY0taJlNpZ25hdHVyZT04WEElMkZnQVNkREc3biUyRmtwODhYcWNBUXJjeW5BJTNEJkV4cGlyZXM9MTc1ODg3NjQ2MSIsImhvc3QiOiJzMy5vcGVuc2hpZnQtc3RvcmFnZS5zdmMuY2x1c3Rlci5sb2NhbDo0NDMiLCJzY2hlbWUiOiJodHRwcyJ9XSwiY29udGV4dCI6e319.hRZMrg0UijydB_oS2SMYUl0V7G4tgWxm35iYTJTra0pJOffDs5eI_9nesTO4rCGVcXMSAqUxlwqJzvDIMchzYW2Eiqwtep5rsqD7L8M6RxuBm54HAFrAZ6n7braYs3pkw3z9s6H0trycbU8QEYu_fyUaUFfrJCRh2Qv0L79-qIgchgTYO6WSR2QfDh4UvHYQ6Rgy2mFyL-Pu2rMlfzBfR6QaiSIErJRUJeOzNfyn9_gygBzmY-6XwLE6rpjPriPiqu0_rUvLgTLAU48GrZCJ_4LCXiqmWAR6Z2MPWAjqBQwMp756DEWBLOiUBNBYt4eWGhJ0QRyCcARd0cHliB3oVA' for storage proxy auth request /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EWXhMQ0pwWVhRaU9qRTNOVGc0TnpVNE5qRXNJbVY0Y0NJNk1UYzFPRGczTmpRMk1Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4MVpDODFaREk1TnpVMFkyVXdNelk1Tmpjd056azBNRFUwTURWaE1EUmhOVFJoTjJRelpqaGlZVGcxWlRBd05UZGlObUprWkdFelpEQXpZV0UxT1dNNE16WXhQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDA0V0VFbE1rWm5RVk5rUkVjM2JpVXlSbXR3T0RoWWNXTkJVWEpqZVc1QkpUTkVKa1Y0Y0dseVpYTTlNVGMxT0RnM05qUTJNU0lzSW1odmMzUWlPaUp6TXk1dmNHVnVjMmhwWm5RdGMzUnZjbUZuWlM1emRtTXVZMngxYzNSbGNpNXNiMk5oYkRvME5ETWlMQ0p6WTJobGJXVWlPaUpvZEhSd2N5SjlYU3dpWTI5dWRHVjRkQ0k2ZTMxOS5oUlpNcmcwVWlqeWRCX29TMlNNWVVsMFY3RzR0Z1d4bTM1aVlUSlRyYTBwSk9mZkRzNWVJXzluZXNUTzRyQ0dWY1hNU0FxVXhsd3FKenZESU1jaHpZVzJFaXF3dGVwNXJzcUQ3TDhNNlJ4dUJtNTRIQUZyQVo2bjdicmFZczNwa3czejlzNkgwdHJ5Y2JVOFFFWXVfZnlVYVVGZnJKQ1JoMlF2MEw3OS1xSWdjaGdUWU82V1NSMlFmRGg0VXZIWVE2Umd5Mm1GeUwtUHUyck1sZnpCZlI2UWFpU0lFckpSVUplT3pOZnluOV9neWdCem1ZLTZYd0xFNnJwalByaVBpcXUwX3JVdkxnVExBVTQ4R3JaQ0pfNExDWGlxbVdBUjZaMk1QV0FqcUJRd01wNzU2REVXQkxPaVVCTkJZdDRlV0doSjBRUnlDY0FSZDBjSGxpQjNvVkE=/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=8XA%2FgASdDG7n%2Fkp88XqcAQrcynA%3D&Expires=1758876461 with parts ['ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EWXhMQ0pwWVhRaU9qRTNOVGc0TnpVNE5qRXNJbVY0Y0NJNk1UYzFPRGczTmpRMk1Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4MVpDODFaREk1TnpVMFkyVXdNelk1Tmpjd056azBNRFUwTURWaE1EUmhOVFJoTjJRelpqaGlZVGcxWlRBd05UZGlObUprWkdFelpEQXpZV0UxT1dNNE16WXhQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDA0V0VFbE1rWm5RVk5rUkVjM2JpVXlSbXR3T0RoWWNXTkJVWEpqZVc1QkpUTkVKa1Y0Y0dseVpYTTlNVGMxT0RnM05qUTJNU0lzSW1odmMzUWlPaUp6TXk1dmNHVnVjMmhwWm5RdGMzUnZjbUZuWlM1emRtTXVZMngxYzNSbGNpNXNiMk5oYkRvME5ETWlMQ0p6WTJobGJXVWlPaUpvZEhSd2N5SjlYU3dpWTI5dWRHVjRkQ0k2ZTMxOS5oUlpNcmcwVWlqeWRCX29TMlNNWVVsMFY3RzR0Z1d4bTM1aVlUSlRyYTBwSk9mZkRzNWVJXzluZXNUTzRyQ0dWY1hNU0FxVXhsd3FKenZESU1jaHpZVzJFaXF3dGVwNXJzcUQ3TDhNNlJ4dUJtNTRIQUZyQVo2bjdicmFZczNwa3czejlzNkgwdHJ5Y2JVOFFFWXVfZnlVYVVGZnJKQ1JoMlF2MEw3OS1xSWdjaGdUWU82V1NSMlFmRGg0VXZIWVE2Umd5Mm1GeUwtUHUyck1sZnpCZlI2UWFpU0lFckpSVUplT3pOZnluOV9neWdCem1ZLTZYd0xFNnJwalByaVBpcXUwX3JVdkxnVExBVTQ4R3JaQ0pfNExDWGlxbVdBUjZaMk1QV0FqcUJRd01wNzU2REVXQkxPaVVCTkJZdDRlV0doSjBRUnlDY0FSZDBjSGxpQjNvVkE=', 'https', 's3.openshift-storage.svc.cluster.local:443', 'quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=8XA%2FgASdDG7n%2Fkp88XqcAQrcynA%3D&Expires=1758876461'] gunicorn-web stdout | 2025-09-26 08:37:42,052 [242] [DEBUG] [app] Ending request: urn:request:b55bd6ba-089c-4786-9161-c74a86dd5b0d (/_storage_proxy_auth) {'endpoint': '_storage_proxy_auth', 'request_id': 'urn:request:b55bd6ba-089c-4786-9161-c74a86dd5b0d', 'remote_addr': '3.131.182.156', 'http_method': 'GET', 'original_url': 'https://web_app_server/_storage_proxy_auth', 'path': '/_storage_proxy_auth', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Go-http-client/1.1'} gunicorn-web stdout | 2025-09-26 08:37:42,053 [242] [INFO] [gunicorn.access] 3.131.182.156 - - [26/Sep/2025:08:37:42 +0000] "GET /_storage_proxy_auth HTTP/1.0" 200 2 "-" "Go-http-client/1.1" securityscanningnotificationworker stdout | 2025-09-26 08:37:42,242 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:37:42,243 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:22.245238+00:00 (in 40.002185 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:37:42,243 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:42 GMT)" (scheduled at 2025-09-26 08:37:42.242482+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:37:42,243 [88] [DEBUG] [workers.queueworker] Getting work item from queue. securityscanningnotificationworker stdout | 2025-09-26 08:37:42,244 [88] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 37, 42, 243350), True, datetime.datetime(2025, 9, 26, 8, 37, 42, 243350), 0, 'secscanv4/%', 50, 1, 0]) securityscanningnotificationworker stdout | 2025-09-26 08:37:42,258 [88] [DEBUG] [workers.queueworker] No more work. securityscanningnotificationworker stdout | 2025-09-26 08:37:42,258 [88] [DEBUG] [data.database] Disconnecting from database. securityscanningnotificationworker stdout | 2025-09-26 08:37:42,258 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:42 GMT)" executed successfully nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:37:42 +0000] "GET /_storage_proxy/ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrUlZjR2R5VTFKNWFtc3lVRWxPVlhVeVkxbFNUbFpQWkdkQ05sTmpjbUZ4YTNOV2RYVjZhMU15ZEZVaUxDSjBlWEFpT2lKS1YxUWlmUS5leUpwYzNNaU9pSnhkV0Y1SWl3aVlYVmtJam9pY1hWaGVYSmxaMmx6ZEhKNUxYRjFZWGt0Y1hWaGVTMWxiblJsY25CeWFYTmxMVEUxTkRjMUxtRndjSE11Y1hWaGVYUmxjM1F0TVRVME56VXVjV1V1WkdWMlkyeDFjM1JsY2k1dmNHVnVjMmhwWm5RdVkyOXRJaXdpYm1KbUlqb3hOelU0T0RjMU9EWXhMQ0pwWVhRaU9qRTNOVGc0TnpVNE5qRXNJbVY0Y0NJNk1UYzFPRGczTmpRMk1Td2ljM1ZpSWpvaWMzUnZjbUZuWlhCeWIzaDVJaXdpWVdOalpYTnpJanBiZXlKMGVYQmxJam9pYzNSdmNtRm5aWEJ5YjNoNUlpd2lkWEpwSWpvaWNYVmhlUzFrWVhSaGMzUnZjbVV0WlRJNVl6TTVPVFF0TmpKbFlpMDBaVGxtTFRrMU5UQXRZbUZoTVRGbU9EYzBNRGcwTDJSaGRHRnpkRzl5WVdkbEwzSmxaMmx6ZEhKNUwzTm9ZVEkxTmk4MVpDODFaREk1TnpVMFkyVXdNelk1Tmpjd056azBNRFUwTURWaE1EUmhOVFJoTjJRelpqaGlZVGcxWlRBd05UZGlObUprWkdFelpEQXpZV0UxT1dNNE16WXhQMEZYVTBGalkyVnpjMHRsZVVsa1BVdHhWVUZvZGpZd1FVZHNRVVJFY1RCTlkwdGFKbE5wWjI1aGRIVnlaVDA0V0VFbE1rWm5RVk5rUkVjM2JpVXlSbXR3T0RoWWNXTkJVWEpqZVc1QkpUTkVKa1Y0Y0dseVpYTTlNVGMxT0RnM05qUTJNU0lzSW1odmMzUWlPaUp6TXk1dmNHVnVjMmhwWm5RdGMzUnZjbUZuWlM1emRtTXVZMngxYzNSbGNpNXNiMk5oYkRvME5ETWlMQ0p6WTJobGJXVWlPaUpvZEhSd2N5SjlYU3dpWTI5dWRHVjRkQ0k2ZTMxOS5oUlpNcmcwVWlqeWRCX29TMlNNWVVsMFY3RzR0Z1d4bTM1aVlUSlRyYTBwSk9mZkRzNWVJXzluZXNUTzRyQ0dWY1hNU0FxVXhsd3FKenZESU1jaHpZVzJFaXF3dGVwNXJzcUQ3TDhNNlJ4dUJtNTRIQUZyQVo2bjdicmFZczNwa3czejlzNkgwdHJ5Y2JVOFFFWXVfZnlVYVVGZnJKQ1JoMlF2MEw3OS1xSWdjaGdUWU82V1NSMlFmRGg0VXZIWVE2Umd5Mm1GeUwtUHUyck1sZnpCZlI2UWFpU0lFckpSVUplT3pOZnluOV9neWdCem1ZLTZYd0xFNnJwalByaVBpcXUwX3JVdkxnVExBVTQ4R3JaQ0pfNExDWGlxbVdBUjZaMk1QV0FqcUJRd01wNzU2REVXQkxPaVVCTkJZdDRlV0doSjBRUnlDY0FSZDBjSGxpQjNvVkE=/https/s3.openshift-storage.svc.cluster.local:443/quay-datastore-e29c3994-62eb-4e9f-9550-baa11f874084/datastorage/registry/sha256/5d/5d29754ce036967079405405a04a54a7d3f8ba85e0057b6bdda3d03aa59c8361?AWSAccessKeyId=KqUAhv60AGlADDq0McKZ&Signature=8XA%2FgASdDG7n%2Fkp88XqcAQrcynA%3D&Expires=1758876461 HTTP/1.1" 200 3614880 "-" "Go-http-client/1.1" (0.377 2417 0.371) proxycacheblobworker stdout | 2025-09-26 08:37:43,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:37:43,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:53.545186+00:00 (in 9.999541 seconds) proxycacheblobworker stdout | 2025-09-26 08:37:43,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:53 GMT)" (scheduled at 2025-09-26 08:37:43.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:37:43,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:37:43,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 37, 43, 546296), True, datetime.datetime(2025, 9, 26, 8, 37, 43, 546296), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:37:43,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:37:43,559 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:37:43,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:53 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:37:45,947 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:37:45,947 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:50.940190+00:00 (in 4.992758 seconds) exportactionlogsworker stdout | 2025-09-26 08:37:45,947 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:45 GMT)" (scheduled at 2025-09-26 08:37:45.946993+00:00) exportactionlogsworker stdout | 2025-09-26 08:37:45,947 [56] [DEBUG] [workers.queueworker] Running watchdog. exportactionlogsworker stdout | 2025-09-26 08:37:45,947 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:45 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:37:46,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:37:46,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:56.440077+00:00 (in 9.999559 seconds) notificationworker stdout | 2025-09-26 08:37:46,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:56 GMT)" (scheduled at 2025-09-26 08:37:46.440077+00:00) notificationworker stdout | 2025-09-26 08:37:46,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:37:46,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 37, 46, 440836), True, datetime.datetime(2025, 9, 26, 8, 37, 46, 440836), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:37:46,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:37:46,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:37:46,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:37:56 GMT)" executed successfully securityworker stdout | 2025-09-26 08:37:47,310 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} gunicorn-web stdout | 2025-09-26 08:37:47,640 [239] [DEBUG] [app] Starting request: urn:request:c04e00ec-7977-4792-9f75-6e12b00868b8 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:37:47,641 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:37:47,644 [250] [DEBUG] [app] Starting request: urn:request:47c0641e-f023-450f-9167-f7f14d9e448c (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:37:47,644 [250] [DEBUG] [app] Ending request: urn:request:47c0641e-f023-450f-9167-f7f14d9e448c (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:47c0641e-f023-450f-9167-f7f14d9e448c', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:37:47,645 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:37:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:37:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:37:47,645 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:37:47,648 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:37:47,650 [241] [DEBUG] [app] Starting request: urn:request:86ec3b37-ff7d-4160-bcab-c8ba190c7981 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:37:47,650 [241] [DEBUG] [app] Ending request: urn:request:86ec3b37-ff7d-4160-bcab-c8ba190c7981 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:86ec3b37-ff7d-4160-bcab-c8ba190c7981', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:37:47,650 [241] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:37:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:37:47,650 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:37:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:37:47,651 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:37:47,651 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:37:47,651 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:37:47,659 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:37:47,659 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:37:47,669 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:37:47,673 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:37:47,676 [239] [DEBUG] [app] Ending request: urn:request:c04e00ec-7977-4792-9f75-6e12b00868b8 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:c04e00ec-7977-4792-9f75-6e12b00868b8', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:37:47,676 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:37:47,676 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:37:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:37:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.037 118 0.037) gunicorn-web stdout | 2025-09-26 08:37:47,728 [239] [DEBUG] [app] Starting request: urn:request:fd7b2355-7ebb-4dfd-8d37-b85a6dba22f0 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:37:47,731 [257] [DEBUG] [app] Starting request: urn:request:f8663813-46ee-4936-9bab-dd41d407d970 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:37:47,731 [257] [DEBUG] [app] Ending request: urn:request:f8663813-46ee-4936-9bab-dd41d407d970 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:f8663813-46ee-4936-9bab-dd41d407d970', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:37:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-registry stdout | 2025-09-26 08:37:47,731 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:37:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:37:47,732 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:37:47,732 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:37:47,734 [242] [DEBUG] [app] Starting request: urn:request:4e22651f-3e74-433f-aa60-7ab84940f2b2 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:37:47,734 [242] [DEBUG] [app] Ending request: urn:request:4e22651f-3e74-433f-aa60-7ab84940f2b2 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:4e22651f-3e74-433f-aa60-7ab84940f2b2', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:37:47,735 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:37:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:37:47,735 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:37:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:37:47,735 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:37:47,735 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:37:47,735 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:37:47,743 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:37:47,743 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:37:47,754 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:37:47,757 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:37:47,760 [239] [DEBUG] [app] Ending request: urn:request:fd7b2355-7ebb-4dfd-8d37-b85a6dba22f0 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:fd7b2355-7ebb-4dfd-8d37-b85a6dba22f0', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:37:47,760 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:37:47,761 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:37:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:37:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.033 118 0.034) gunicorn-secscan stdout | 2025-09-26 08:37:48,875 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:37:48 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:37:48 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 959 0.001) securityworker stdout | 2025-09-26 08:37:49,334 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:37:49,334 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:37:57.335452+00:00 (in 8.000672 seconds) securityworker stdout | 2025-09-26 08:37:49,334 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:19 GMT)" (scheduled at 2025-09-26 08:37:49.334273+00:00) securityworker stdout | 2025-09-26 08:37:49,335 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:37:49,335 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:37:49,338 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:37:49,340 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:37:49,352 [89] [DEBUG] [util.migrate.allocator] Total range: 24-36 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total range: 24-36 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-36 securityworker stdout | 2025-09-26 08:37:49,352 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:49,352 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-36 securityworker stdout | 2025-09-26 08:37:49,352 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 32 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 32 securityworker stdout | 2025-09-26 08:37:49,353 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 32, 36]) securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 32-36 by worker securityworker stdout | 2025-09-26 08:37:49,357 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 32-36 by worker securityworker stdout | 2025-09-26 08:37:49,357 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 32-36 securityworker stdout | 2025-09-26 08:37:49,357 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 32 securityworker stdout | 2025-09-26 08:37:49,357 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:49,357 [89] [DEBUG] [util.migrate.allocator] Total range: 24-32 securityworker stdout | 2025-09-26 08:37:49,357 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:49,357 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-32 securityworker stdout | 2025-09-26 08:37:49,358 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 32-36 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 32 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total range: 24-32 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-32 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:37:49,358 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 27, 31]) securityworker stdout | 2025-09-26 08:37:49,361 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 27-31 by worker securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 27-31 by worker securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 27-31 securityworker stdout | 2025-09-26 08:37:49,361 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 27-31 securityworker stdout | 2025-09-26 08:37:49,361 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 27-31 securityworker stdout | 2025-09-26 08:37:49,361 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:37:49,361 [89] [DEBUG] [util.migrate.allocator] Total range: 24-32 securityworker stdout | 2025-09-26 08:37:49,361 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:37:49,361 [89] [DEBUG] [util.migrate.allocator] Right range 27-31 securityworker stdout | 2025-09-26 08:37:49,362 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-27 securityworker stdout | 2025-09-26 08:37:49,362 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 24 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 27-31 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total range: 24-32 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Right range 27-31 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-27 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 24 securityworker stdout | 2025-09-26 08:37:49,362 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 24, 28]) securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 24-28 by worker securityworker stdout | 2025-09-26 08:37:49,365 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 24-28 by worker securityworker stdout | 2025-09-26 08:37:49,365 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 24-28 securityworker stdout | 2025-09-26 08:37:49,365 [89] [DEBUG] [util.migrate.allocator] Merging with block 27-31 securityworker stdout | 2025-09-26 08:37:49,365 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 31 securityworker stdout | 2025-09-26 08:37:49,365 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:37:49,366 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:49,366 [89] [DEBUG] [util.migrate.allocator] Total range: 31-32 securityworker stdout | 2025-09-26 08:37:49,366 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 24-28 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 27-31 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 31 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total range: 31-32 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 31-32 securityworker stdout | 2025-09-26 08:37:49,366 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 31-32 securityworker stdout | 2025-09-26 08:37:49,366 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 31 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 31 securityworker stdout | 2025-09-26 08:37:49,366 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 31, 35]) securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 31-35 by worker securityworker stdout | 2025-09-26 08:37:49,369 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 31-35 by worker securityworker stdout | 2025-09-26 08:37:49,369 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 31-35 securityworker stdout | 2025-09-26 08:37:49,369 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 31 securityworker stdout | 2025-09-26 08:37:49,369 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 35 securityworker stdout | 2025-09-26 08:37:49,369 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:49,370 [89] [DEBUG] [util.migrate.allocator] Total range: 35-31 securityworker stdout | 2025-09-26 08:37:49,370 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:37:49,370 [89] [DEBUG] [util.migrate.allocator] Total range: 24-36 securityworker stdout | 2025-09-26 08:37:49,370 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:49,370 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-36 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 31-35 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 31 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 35 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total range: 35-31 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total range: 24-36 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-36 securityworker stdout | 2025-09-26 08:37:49,370 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 32 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 32 securityworker stdout | 2025-09-26 08:37:49,371 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 32, 49, 340174), 30, 34]) securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 30-34 by worker securityworker stdout | 2025-09-26 08:37:49,375 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 30-34 by worker securityworker stdout | 2025-09-26 08:37:49,375 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 30-34 securityworker stdout | 2025-09-26 08:37:49,375 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 30-34 securityworker stdout | 2025-09-26 08:37:49,375 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:37:49,375 [89] [DEBUG] [util.migrate.allocator] Total range: 24-36 securityworker stdout | 2025-09-26 08:37:49,375 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:37:49,375 [89] [DEBUG] [util.migrate.allocator] Right range 30-34 securityworker stdout | 2025-09-26 08:37:49,375 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-30 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 30-34 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 30-34 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total range: 24-36 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Right range 30-34 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-30 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 26 securityworker stdout | 2025-09-26 08:37:49,375 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 26 securityworker stdout | 2025-09-26 08:37:49,376 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 32, 49, 340174), 25, 29]) securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 25-29 by worker securityworker stdout | 2025-09-26 08:37:49,379 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 25-29 by worker securityworker stdout | 2025-09-26 08:37:49,379 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 25-29 securityworker stdout | 2025-09-26 08:37:49,379 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 25-29 securityworker stdout | 2025-09-26 08:37:49,379 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stdout | 2025-09-26 08:37:49,379 [89] [DEBUG] [util.migrate.allocator] Total range: 24-36 securityworker stdout | 2025-09-26 08:37:49,379 [89] [DEBUG] [util.migrate.allocator] Selected random hole 2 with 3 total holes securityworker stdout | 2025-09-26 08:37:49,379 [89] [DEBUG] [util.migrate.allocator] Left range 25-29 securityworker stdout | 2025-09-26 08:37:49,379 [89] [DEBUG] [util.migrate.allocator] Right range 30-34 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 25-29 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 25-29 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total range: 24-36 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 2 with 3 total holes securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Left range 25-29 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Right range 30-34 securityworker stdout | 2025-09-26 08:37:49,379 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 29-30 securityworker stdout | 2025-09-26 08:37:49,379 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 29 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 29-30 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 29 securityworker stdout | 2025-09-26 08:37:49,381 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 32, 49, 340174), 29, 33]) securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 29-33 by worker securityworker stdout | 2025-09-26 08:37:49,384 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 29-33 by worker securityworker stdout | 2025-09-26 08:37:49,384 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 29-33 securityworker stdout | 2025-09-26 08:37:49,384 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 25-29 securityworker stdout | 2025-09-26 08:37:49,384 [89] [DEBUG] [util.migrate.allocator] Already merged with block 25-29 securityworker stdout | 2025-09-26 08:37:49,384 [89] [DEBUG] [util.migrate.allocator] Merging with block 30-34 securityworker stdout | 2025-09-26 08:37:49,384 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stdout | 2025-09-26 08:37:49,384 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 25-34 securityworker stdout | 2025-09-26 08:37:49,384 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 29-33 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 25-29 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 25-29 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 30-34 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 25-34 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total range: 24-36 securityworker stdout | 2025-09-26 08:37:49,384 [89] [DEBUG] [util.migrate.allocator] Total range: 24-36 securityworker stdout | 2025-09-26 08:37:49,384 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:37:49,384 [89] [DEBUG] [util.migrate.allocator] Left range 25-34 securityworker stdout | 2025-09-26 08:37:49,384 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 34-36 securityworker stdout | 2025-09-26 08:37:49,384 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 34 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Left range 25-34 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 34-36 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 34 securityworker stdout | 2025-09-26 08:37:49,385 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 32, 49, 340174), 34, 36]) securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 34-36 by worker securityworker stdout | 2025-09-26 08:37:49,388 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 34-36 by worker securityworker stdout | 2025-09-26 08:37:49,388 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 34-36 securityworker stdout | 2025-09-26 08:37:49,388 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 25-34 securityworker stdout | 2025-09-26 08:37:49,388 [89] [DEBUG] [util.migrate.allocator] Already merged with block 25-34 securityworker stdout | 2025-09-26 08:37:49,388 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 25 securityworker stdout | 2025-09-26 08:37:49,388 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:37:49,388 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 34-36 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 25-34 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 25-34 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 25 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total range: 24-25 securityworker stdout | 2025-09-26 08:37:49,388 [89] [DEBUG] [util.migrate.allocator] Total range: 24-25 securityworker stdout | 2025-09-26 08:37:49,388 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:49,388 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-25 securityworker stdout | 2025-09-26 08:37:49,388 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 24 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-25 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 24 securityworker stdout | 2025-09-26 08:37:49,390 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 32, 49, 340174), 24, 28]) securityworker stdout | 2025-09-26 08:37:49,393 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 24-28 by worker securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 24-28 by worker securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 24-28 securityworker stdout | 2025-09-26 08:37:49,394 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 24-28 securityworker stdout | 2025-09-26 08:37:49,394 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 24 securityworker stdout | 2025-09-26 08:37:49,394 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 28 securityworker stdout | 2025-09-26 08:37:49,394 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:49,394 [89] [DEBUG] [util.migrate.allocator] Total range: 28-24 securityworker stdout | 2025-09-26 08:37:49,394 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:37:49,394 [89] [DEBUG] [util.migrate.allocator] Total range: 24-36 securityworker stdout | 2025-09-26 08:37:49,394 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:49,394 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-36 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 24 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 28 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total range: 28-24 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total range: 24-36 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-36 securityworker stdout | 2025-09-26 08:37:49,394 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 32 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 32 securityworker stdout | 2025-09-26 08:37:49,395 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 32, 49, 340174), 27, 31]) securityworker stdout | 2025-09-26 08:37:49,398 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 27-31 by worker securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 27-31 by worker securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 27-31 securityworker stdout | 2025-09-26 08:37:49,398 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 27-31 securityworker stdout | 2025-09-26 08:37:49,398 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 27-31 securityworker stdout | 2025-09-26 08:37:49,398 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:37:49,398 [89] [DEBUG] [util.migrate.allocator] Total range: 24-36 securityworker stdout | 2025-09-26 08:37:49,398 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:37:49,398 [89] [DEBUG] [util.migrate.allocator] Left range 27-31 securityworker stdout | 2025-09-26 08:37:49,398 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 31-36 securityworker stdout | 2025-09-26 08:37:49,399 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 32 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 27-31 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total range: 24-36 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Left range 27-31 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 31-36 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 32 securityworker stdout | 2025-09-26 08:37:49,399 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 32, 49, 340174), 31, 35]) securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 31-35 by worker securityworker stdout | 2025-09-26 08:37:49,403 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 31-35 by worker securityworker stdout | 2025-09-26 08:37:49,403 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 31-35 securityworker stdout | 2025-09-26 08:37:49,403 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 27-31 securityworker stdout | 2025-09-26 08:37:49,403 [89] [DEBUG] [util.migrate.allocator] Already merged with block 27-31 securityworker stdout | 2025-09-26 08:37:49,403 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:37:49,403 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 27-35 securityworker stdout | 2025-09-26 08:37:49,403 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:37:49,403 [89] [DEBUG] [util.migrate.allocator] Total range: 24-36 securityworker stdout | 2025-09-26 08:37:49,403 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 31-35 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 27-31 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 27-31 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 27-35 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total range: 24-36 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:37:49,403 [89] [DEBUG] [util.migrate.allocator] Left range 27-35 securityworker stdout | 2025-09-26 08:37:49,403 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 35-36 securityworker stdout | 2025-09-26 08:37:49,403 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 35 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Left range 27-35 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 35-36 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 35 securityworker stdout | 2025-09-26 08:37:49,404 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 32, 49, 340174), 35, 36]) securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 35-36 by worker securityworker stdout | 2025-09-26 08:37:49,407 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 35-36 by worker securityworker stdout | 2025-09-26 08:37:49,407 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 35-36 securityworker stdout | 2025-09-26 08:37:49,407 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 27-35 securityworker stdout | 2025-09-26 08:37:49,407 [89] [DEBUG] [util.migrate.allocator] Already merged with block 27-35 securityworker stdout | 2025-09-26 08:37:49,407 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 27 securityworker stdout | 2025-09-26 08:37:49,408 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:37:49,408 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:49,408 [89] [DEBUG] [util.migrate.allocator] Total range: 24-27 securityworker stdout | 2025-09-26 08:37:49,408 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:49,408 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-27 securityworker stdout | 2025-09-26 08:37:49,408 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 24 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 35-36 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 27-35 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 27-35 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 27 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total range: 24-27 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-27 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 24 securityworker stdout | 2025-09-26 08:37:49,408 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 32, 49, 340174), 24, 28]) securityworker stdout | 2025-09-26 08:37:49,412 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 24-28 by worker securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 24-28 by worker securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 24-28 securityworker stdout | 2025-09-26 08:37:49,412 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 24-28 securityworker stdout | 2025-09-26 08:37:49,412 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 24 securityworker stdout | 2025-09-26 08:37:49,412 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 28 securityworker stdout | 2025-09-26 08:37:49,412 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:49,412 [89] [DEBUG] [util.migrate.allocator] Total range: 28-24 securityworker stdout | 2025-09-26 08:37:49,412 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:37:49,412 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 24 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 28 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] Total range: 28-24 securityworker stderr | 2025-09-26 08:37:49 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:37:49,413 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:19 GMT)" executed successfully logrotateworker stdout | 2025-09-26 08:37:50,325 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} exportactionlogsworker stdout | 2025-09-26 08:37:50,940 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:37:50,940 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:45.946993+00:00 (in 55.006345 seconds) exportactionlogsworker stdout | 2025-09-26 08:37:50,940 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:50 GMT)" (scheduled at 2025-09-26 08:37:50.940190+00:00) exportactionlogsworker stdout | 2025-09-26 08:37:50,940 [56] [DEBUG] [workers.queueworker] Getting work item from queue. exportactionlogsworker stdout | 2025-09-26 08:37:50,942 [56] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 37, 50, 941034), True, datetime.datetime(2025, 9, 26, 8, 37, 50, 941034), 0, 'exportactionlogs/%', 50, 1, 0]) exportactionlogsworker stdout | 2025-09-26 08:37:50,954 [56] [DEBUG] [workers.queueworker] No more work. exportactionlogsworker stdout | 2025-09-26 08:37:50,954 [56] [DEBUG] [data.database] Disconnecting from database. exportactionlogsworker stdout | 2025-09-26 08:37:50,954 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:50 GMT)" executed successfully buildlogsarchiver stdout | 2025-09-26 08:37:51,419 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'} gcworker stdout | 2025-09-26 08:37:51,444 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:37:51,444 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:04.439268+00:00 (in 12.994370 seconds) gcworker stdout | 2025-09-26 08:37:51,445 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:21 GMT)" (scheduled at 2025-09-26 08:37:51.444401+00:00) gcworker stdout | 2025-09-26 08:37:51,445 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) gcworker stdout | 2025-09-26 08:37:51,456 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875571456, None, 1, 0]) gcworker stdout | 2025-09-26 08:37:51,461 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:37:51,461 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:21 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:37:52,113 [64] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestsubjectbackfillworker.py', 'pid': '64'} storagereplication stdout | 2025-09-26 08:37:53,156 [95] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'storagereplication.py', 'pid': '95'} proxycacheblobworker stdout | 2025-09-26 08:37:53,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:37:53,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:03.545186+00:00 (in 9.999560 seconds) proxycacheblobworker stdout | 2025-09-26 08:37:53,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:03 GMT)" (scheduled at 2025-09-26 08:37:53.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:37:53,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:37:53,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 37, 53, 545991), True, datetime.datetime(2025, 9, 26, 8, 37, 53, 545991), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:37:53,570 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:37:53,570 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:37:53,571 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:03 GMT)" executed successfully teamsyncworker stdout | 2025-09-26 08:37:53,696 [105] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'teamsyncworker.py', 'pid': '105'} servicekey stdout | 2025-09-26 08:37:53,707 [93] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'servicekeyworker.py', 'pid': '93'} blobuploadcleanupworker stdout | 2025-09-26 08:37:53,783 [50] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'blobuploadcleanupworker.py', 'pid': '50'} gcworker stdout | 2025-09-26 08:37:54,109 [57] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'gcworker.py', 'pid': '57'} queuecleanupworker stdout | 2025-09-26 08:37:54,208 [71] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'queuecleanupworker.py', 'pid': '71'} securityscanningnotificationworker stdout | 2025-09-26 08:37:54,525 [88] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityscanningnotificationworker.py', 'pid': '88'} chunkcleanupworker stdout | 2025-09-26 08:37:54,819 [53] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'chunkcleanupworker.py', 'pid': '53'} repositorygcworker stdout | 2025-09-26 08:37:55,534 [86] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositorygcworker.py', 'pid': '86'} gunicorn-secscan stdout | 2025-09-26 08:37:55,687 [227] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '227'} gunicorn-secscan stdout | 2025-09-26 08:37:55,693 [228] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '228'} gunicorn-secscan stdout | 2025-09-26 08:37:55,696 [60] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '60'} namespacegcworker stdout | 2025-09-26 08:37:55,928 [66] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'namespacegcworker.py', 'pid': '66'} repositoryactioncounter stdout | 2025-09-26 08:37:56,407 [80] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositoryactioncounter.py', 'pid': '80'} notificationworker stdout | 2025-09-26 08:37:56,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:37:56,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:02.441222+00:00 (in 6.000724 seconds) notificationworker stdout | 2025-09-26 08:37:56,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:06 GMT)" (scheduled at 2025-09-26 08:37:56.440077+00:00) notificationworker stdout | 2025-09-26 08:37:56,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:37:56,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 37, 56, 440784), True, datetime.datetime(2025, 9, 26, 8, 37, 56, 440784), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:37:56,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:37:56,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:37:56,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:06 GMT)" executed successfully expiredappspecifictokenworker stdout | 2025-09-26 08:37:56,515 [55] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'expiredappspecifictokenworker.py', 'pid': '55'} gunicorn-web stdout | 2025-09-26 08:37:56,560 [240] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '240'} gunicorn-web stdout | 2025-09-26 08:37:56,565 [239] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '239'} gunicorn-web stdout | 2025-09-26 08:37:56,647 [242] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '242'} gunicorn-web stdout | 2025-09-26 08:37:56,652 [241] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '241'} gunicorn-web stdout | 2025-09-26 08:37:56,662 [61] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '61'} builder stdout | 2025-09-26 08:37:56,827 [51] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'builder.py', 'pid': '51'} securityworker stdout | 2025-09-26 08:37:57,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:37:57,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:19.334273+00:00 (in 21.998320 seconds) securityworker stdout | 2025-09-26 08:37:57,336 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:27 GMT)" (scheduled at 2025-09-26 08:37:57.335452+00:00) securityworker stdout | 2025-09-26 08:37:57,336 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:37:57,336 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:37:57,340 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:37:57,342 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:37:57,355 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:37:57,355 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:57,355 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:37:57,355 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:37:57,356 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 36]) securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:37:57,360 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:37:57,360 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:37:57,360 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:37:57,360 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:37:57,360 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:57,360 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:37:57,360 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:37:57,360 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:37:57,360 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:57,360 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:37:57,360 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:37:57,361 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 32, 57, 342512), 1, 36]) securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:37:57,364 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:37:57,364 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:37:57,364 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:37:57,364 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:37:57,364 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:57,364 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:37:57,364 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:37:57,364 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:37:57,365 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:37:57,365 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:37:57,365 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:37:57,365 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 32, 57, 342512), 1, 36]) securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:37:57,368 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:37:57,369 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:37:57,369 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:37:57,369 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:37:57,369 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:37:57,369 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:37:57,369 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:37:57,369 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:37:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:37:57,369 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:27 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:37:57,725 [68] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'notificationworker.py', 'pid': '68'} namespacegcworker stdout | 2025-09-26 08:37:58,836 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:37:58,836 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:34.840898+00:00 (in 36.004488 seconds) namespacegcworker stdout | 2025-09-26 08:37:58,836 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:58 GMT)" (scheduled at 2025-09-26 08:37:58.835976+00:00) namespacegcworker stdout | 2025-09-26 08:37:58,836 [66] [DEBUG] [workers.queueworker] Getting work item from queue. namespacegcworker stdout | 2025-09-26 08:37:58,837 [66] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 37, 58, 836728), True, datetime.datetime(2025, 9, 26, 8, 37, 58, 836728), 0, 'namespacegc/%', 50, 1, 0]) namespacegcworker stdout | 2025-09-26 08:37:58,850 [66] [DEBUG] [workers.queueworker] No more work. namespacegcworker stdout | 2025-09-26 08:37:58,850 [66] [DEBUG] [data.database] Disconnecting from database. namespacegcworker stdout | 2025-09-26 08:37:58,850 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:38:58 GMT)" executed successfully globalpromstats stdout | 2025-09-26 08:38:00,100 [58] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'globalpromstats.py', 'pid': '58'} notificationworker stdout | 2025-09-26 08:38:02,441 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:38:02,441 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:06.440077+00:00 (in 3.998229 seconds) notificationworker stdout | 2025-09-26 08:38:02,442 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:43:02 GMT)" (scheduled at 2025-09-26 08:38:02.441222+00:00) notificationworker stdout | 2025-09-26 08:38:02,442 [68] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [False, datetime.datetime(2025, 9, 26, 8, 38, 2, 442202), 'notification/%']) notificationworker stdout | 2025-09-26 08:38:02,455 [68] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 38, 2, 442202), True, datetime.datetime(2025, 9, 26, 8, 38, 2, 442202), 0, 'notification/%']) notificationworker stdout | 2025-09-26 08:38:02,460 [68] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) AND NOT ("t1"."queue_name" IN (SELECT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s)))))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 38, 2, 442202), True, datetime.datetime(2025, 9, 26, 8, 38, 2, 442202), 0, 'notification/%', False, datetime.datetime(2025, 9, 26, 8, 38, 2, 442202), 'notification/%']) notificationworker stdout | 2025-09-26 08:38:02,464 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:38:02,464 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:43:02 GMT)" executed successfully gunicorn-web stdout | 2025-09-26 08:38:02,639 [241] [DEBUG] [app] Starting request: urn:request:eb1eb31e-bf0d-4a9c-ac35-ad6955fdaa65 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:38:02,641 [241] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:38:02,643 [250] [DEBUG] [app] Starting request: urn:request:f0a7c2d6-b845-4f6e-ac49-9148593de01a (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:38:02,643 [250] [DEBUG] [app] Ending request: urn:request:f0a7c2d6-b845-4f6e-ac49-9148593de01a (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:f0a7c2d6-b845-4f6e-ac49-9148593de01a', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:38:02,644 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:38:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:38:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:38:02,644 [241] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:38:02,646 [241] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:38:02,647 [242] [DEBUG] [app] Starting request: urn:request:564a56a5-befa-4b49-819a-f52bb37db704 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:38:02,647 [242] [DEBUG] [app] Ending request: urn:request:564a56a5-befa-4b49-819a-f52bb37db704 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:564a56a5-befa-4b49-819a-f52bb37db704', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:38:02,648 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:38:02 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:38:02 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:38:02,648 [241] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:38:02,648 [241] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:38:02,648 [241] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:38:02,648 [241] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:38:02,656 [241] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:38:02,656 [241] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:38:02,666 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:38:02,670 [241] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:38:02,674 [241] [DEBUG] [app] Ending request: urn:request:eb1eb31e-bf0d-4a9c-ac35-ad6955fdaa65 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:eb1eb31e-bf0d-4a9c-ac35-ad6955fdaa65', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:38:02,674 [241] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:38:02,675 [241] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:38:02 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:38:02 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.036 118 0.037) gunicorn-web stdout | 2025-09-26 08:38:02,727 [239] [DEBUG] [app] Starting request: urn:request:e85286cb-2654-45c3-b44e-ae8a9486b7f7 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:38:02,728 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:38:02,730 [250] [DEBUG] [app] Starting request: urn:request:3020f33a-6aa6-4b1c-8df9-c741717e5373 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:38:02,730 [250] [DEBUG] [app] Ending request: urn:request:3020f33a-6aa6-4b1c-8df9-c741717e5373 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:3020f33a-6aa6-4b1c-8df9-c741717e5373', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:38:02,730 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:38:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:38:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-web stdout | 2025-09-26 08:38:02,730 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:38:02,731 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:38:02,733 [239] [DEBUG] [app] Starting request: urn:request:a2fb0eb8-012b-43c9-8e85-7f734f04c19a (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:38:02,733 [239] [DEBUG] [app] Ending request: urn:request:a2fb0eb8-012b-43c9-8e85-7f734f04c19a (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:a2fb0eb8-012b-43c9-8e85-7f734f04c19a', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:38:02,733 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:38:02 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:38:02 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:38:02,733 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:38:02,735 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:38:02,735 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:38:02,735 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:38:02,742 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:38:02,742 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:38:02,752 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:38:02,755 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:38:02,759 [239] [DEBUG] [app] Ending request: urn:request:e85286cb-2654-45c3-b44e-ae8a9486b7f7 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:e85286cb-2654-45c3-b44e-ae8a9486b7f7', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:38:02,760 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:38:02 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.034 118 0.034) gunicorn-web stdout | 2025-09-26 08:38:02,760 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:38:02 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" gunicorn-registry stdout | 2025-09-26 08:38:02,841 [257] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '257'} gunicorn-registry stdout | 2025-09-26 08:38:02,846 [252] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '252'} gunicorn-registry stdout | 2025-09-26 08:38:02,850 [254] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '254'} gunicorn-registry stdout | 2025-09-26 08:38:02,860 [59] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '59'} gunicorn-registry stdout | 2025-09-26 08:38:02,916 [253] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '253'} gunicorn-registry stdout | 2025-09-26 08:38:02,928 [255] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '255'} gunicorn-registry stdout | 2025-09-26 08:38:02,956 [256] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '256'} gunicorn-registry stdout | 2025-09-26 08:38:02,960 [251] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '251'} gunicorn-registry stdout | 2025-09-26 08:38:02,966 [250] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '250'} gunicorn-secscan stdout | 2025-09-26 08:38:03,524 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:38:03 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:38:03 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.000 961 0.001) proxycacheblobworker stdout | 2025-09-26 08:38:03,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:38:03,546 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:13.545186+00:00 (in 9.999100 seconds) proxycacheblobworker stdout | 2025-09-26 08:38:03,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:13 GMT)" (scheduled at 2025-09-26 08:38:03.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:38:03,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:38:03,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 38, 3, 546358), True, datetime.datetime(2025, 9, 26, 8, 38, 3, 546358), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:38:03,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:38:03,559 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:38:03,559 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:13 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:38:03,629 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} gcworker stdout | 2025-09-26 08:38:04,439 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:38:04,440 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:21.444401+00:00 (in 17.004140 seconds) gcworker stdout | 2025-09-26 08:38:04,440 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:34 GMT)" (scheduled at 2025-09-26 08:38:04.439268+00:00) gcworker stdout | 2025-09-26 08:38:04,440 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:38:04,440 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:34 GMT)" executed successfully gunicorn-web stdout | 2025-09-26 08:38:04,498 [239] [DEBUG] [app] Starting request: urn:request:c612a887-3f77-407c-b393-33ed6783e3ac (/api/v1/superuser/registrystatus) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:38:04,498 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:04,498 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:04,499 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:04,511 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:38:04,511 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:38:04,511 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:04,511 [239] [DEBUG] [app] Ending request: urn:request:c612a887-3f77-407c-b393-33ed6783e3ac (/api/v1/superuser/registrystatus) {'endpoint': 'api.superuserregistrystatus', 'request_id': 'urn:request:c612a887-3f77-407c-b393-33ed6783e3ac', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/registrystatus', 'path': '/api/v1/superuser/registrystatus', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:38:04,512 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:38:04,512 [239] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:38:04 +0000] "GET /api/v1/superuser/registrystatus HTTP/1.0" 200 42 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:38:04 +0000] "GET /api/v1/superuser/registrystatus HTTP/1.1" 200 42 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.015 2392 0.015) gunicorn-web stdout | 2025-09-26 08:38:04,614 [241] [DEBUG] [app] Starting request: urn:request:915bd506-a4c0-4a76-8816-bc570eeb0dda (/api/v1/superuser/registrysize/) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:38:04,615 [241] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:04,615 [241] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:04,615 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:04,621 [239] [DEBUG] [app] Starting request: urn:request:1246ca23-8c03-412c-86db-d0cc93add47d (/api/v1/superuser/users/) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:38:04,621 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:04,621 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:04,622 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:04,628 [241] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:38:04,628 [241] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:38:04,628 [241] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:04,628 [241] [DEBUG] [endpoints.api] Checking fresh login for user quay: Last login at 2025-09-26 08:37:21+00:00 gunicorn-web stdout | 2025-09-26 08:38:04,628 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:04,628 [241] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:04,628 [241] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:04,629 [241] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:04,629 [241] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:38:04,629 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."size_bytes", "t1"."running", "t1"."queued", "t1"."completed_ms" FROM "quotaregistrysize" AS "t1" LIMIT %s OFFSET %s', [1, 0]) gunicorn-web stdout | 2025-09-26 08:38:04,633 [241] [DEBUG] [app] Ending request: urn:request:915bd506-a4c0-4a76-8816-bc570eeb0dda (/api/v1/superuser/registrysize/) {'endpoint': 'api.superuserregistrysize', 'request_id': 'urn:request:915bd506-a4c0-4a76-8816-bc570eeb0dda', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/registrysize/', 'path': '/api/v1/superuser/registrysize/', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:38:04,634 [241] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:38:04,634 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:38:04,634 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:38:04,634 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:04,634 [241] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:38:04 +0000] "GET /api/v1/superuser/registrysize/ HTTP/1.0" 200 71 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:38:04 +0000] "GET /api/v1/superuser/registrysize/ HTTP/1.1" 200 71 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.021 2391 0.021) gunicorn-web stdout | 2025-09-26 08:38:04,635 [239] [DEBUG] [endpoints.api] Checking fresh login for user quay: Last login at 2025-09-26 08:37:21+00:00 gunicorn-web stdout | 2025-09-26 08:38:04,635 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:04,635 [239] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:04,635 [239] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:04,635 [239] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:04,635 [239] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:38:04,639 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ((("t1"."organization" = %s) AND ("t1"."robot" = %s)) AND ("t1"."id" NOT IN (SELECT "t2"."namespace_id" FROM "deletednamespace" AS "t2"))) ORDER BY "t1"."id" LIMIT %s', [False, False, 51]) gunicorn-web stdout | 2025-09-26 08:38:04,643 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-web stdout | 2025-09-26 08:38:04,647 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quay', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:04,651 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-web stdout | 2025-09-26 08:38:04,654 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:04,658 [239] [DEBUG] [app] Ending request: urn:request:1246ca23-8c03-412c-86db-d0cc93add47d (/api/v1/superuser/users/) {'endpoint': 'api.superuserlist', 'request_id': 'urn:request:1246ca23-8c03-412c-86db-d0cc93add47d', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/users/?limit=50', 'path': '/api/v1/superuser/users/', 'parameters': {'limit': '50'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:38:04,658 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:38:04 +0000] "GET /api/v1/superuser/users/?limit=50 HTTP/1.1" 200 424 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.039 2393 0.039) gunicorn-web stdout | 2025-09-26 08:38:04,659 [239] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:38:04 +0000] "GET /api/v1/superuser/users/?limit=50 HTTP/1.0" 200 424 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" autopruneworker stdout | 2025-09-26 08:38:04,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:38:04,735 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:34.734534+00:00 (in 29.999520 seconds) autopruneworker stdout | 2025-09-26 08:38:04,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:34 GMT)" (scheduled at 2025-09-26 08:38:04.734534+00:00) autopruneworker stdout | 2025-09-26 08:38:04,743 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758872284743, None, 1, 0]) autopruneworker stdout | 2025-09-26 08:38:04,749 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:38:04,749 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:38:04,749 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:34 GMT)" executed successfully gunicorn-web stdout | 2025-09-26 08:38:05,013 [239] [DEBUG] [app] Starting request: urn:request:1ffafe23-5055-4123-a2fb-4b91a8179f47 (/api/v1/superuser/users/quay/quota) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:38:05,014 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:05,014 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:05,014 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:05,026 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:38:05,026 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:38:05,026 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:05,027 [239] [DEBUG] [endpoints.api] Checking fresh login for user quay: Last login at 2025-09-26 08:37:21+00:00 gunicorn-web stdout | 2025-09-26 08:38:05,027 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:05,027 [239] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:05,027 [239] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:05,027 [239] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:05,027 [239] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:38:05,027 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quay', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:05,032 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-web stdout | 2025-09-26 08:38:05,035 [239] [DEBUG] [app] Ending request: urn:request:1ffafe23-5055-4123-a2fb-4b91a8179f47 (/api/v1/superuser/users/quay/quota) {'endpoint': 'api.superuseruserquotalist', 'request_id': 'urn:request:1ffafe23-5055-4123-a2fb-4b91a8179f47', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/users/quay/quota', 'path': '/api/v1/superuser/users/quay/quota', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:38:05,036 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:38:05,037 [239] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:38:05 +0000] "GET /api/v1/superuser/users/quay/quota HTTP/1.0" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:38:05 +0000] "GET /api/v1/superuser/users/quay/quota HTTP/1.1" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.024 2394 0.025) gunicorn-secscan stdout | 2025-09-26 08:38:05,064 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:38:05 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:38:05 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) notificationworker stdout | 2025-09-26 08:38:06,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:38:06,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:16.440077+00:00 (in 9.999437 seconds) notificationworker stdout | 2025-09-26 08:38:06,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:16 GMT)" (scheduled at 2025-09-26 08:38:06.440077+00:00) notificationworker stdout | 2025-09-26 08:38:06,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:38:06,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 38, 6, 440981), True, datetime.datetime(2025, 9, 26, 8, 38, 6, 440981), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:38:06,453 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:38:06,453 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:38:06,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:16 GMT)" executed successfully gunicorn-web stdout | 2025-09-26 08:38:06,722 [239] [DEBUG] [app] Starting request: urn:request:d029003b-2aec-42c9-a615-69157680b6c5 (/api/v1/superuser/organizations/) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:38:06,722 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:06,722 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:06,723 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:06,735 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:38:06,735 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:38:06,735 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:06,735 [239] [DEBUG] [endpoints.api] Checking fresh login for user quay: Last login at 2025-09-26 08:37:21+00:00 gunicorn-web stdout | 2025-09-26 08:38:06,735 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:06,735 [239] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:06,735 [239] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:06,735 [239] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:06,735 [239] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:38:06,736 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ((("t1"."organization" = %s) AND ("t1"."robot" = %s)) AND ("t1"."id" NOT IN (SELECT "t2"."namespace_id" FROM "deletednamespace" AS "t2"))) ORDER BY "t1"."id" LIMIT %s', [True, False, 51]) gunicorn-web stdout | 2025-09-26 08:38:06,741 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-web stdout | 2025-09-26 08:38:06,745 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-web stdout | 2025-09-26 08:38:06,748 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-web stdout | 2025-09-26 08:38:06,751 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:06,755 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-web stdout | 2025-09-26 08:38:06,758 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:06,763 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:06,766 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-web stdout | 2025-09-26 08:38:06,769 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:06,772 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:06,776 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-web stdout | 2025-09-26 08:38:06,779 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:06,783 [239] [DEBUG] [app] Ending request: urn:request:d029003b-2aec-42c9-a615-69157680b6c5 (/api/v1/superuser/organizations/) {'endpoint': 'api.superuserorganizationlist', 'request_id': 'urn:request:d029003b-2aec-42c9-a615-69157680b6c5', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/organizations/?limit=50', 'path': '/api/v1/superuser/organizations/', 'parameters': {'limit': '50'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:38:06,784 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:38:06 +0000] "GET /api/v1/superuser/organizations/?limit=50 HTTP/1.1" 200 1047 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.063 2419 0.063) gunicorn-web stdout | 2025-09-26 08:38:06,784 [239] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:38:06 +0000] "GET /api/v1/superuser/organizations/?limit=50 HTTP/1.0" 200 1047 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" autopruneworker stdout | 2025-09-26 08:38:06,932 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} gunicorn-web stdout | 2025-09-26 08:38:07,149 [239] [DEBUG] [app] Starting request: urn:request:b0678898-26b8-45ba-94d2-3b2f3a1df7d6 (/api/v1/organization/quayorg/quota) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:38:07,149 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:07,149 [241] [DEBUG] [app] Starting request: urn:request:0a2355a9-720b-4ec2-be82-d6709c159dd9 (/api/v1/organization/testorg/quota) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:38:07,149 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:07,149 [241] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:07,149 [242] [DEBUG] [app] Starting request: urn:request:b00ce91e-821d-498c-85ee-691890f57373 (/api/v1/organization/testorg2/quota) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:38:07,149 [241] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:07,149 [242] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:07,150 [242] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:07,150 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:07,150 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:07,150 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:07,162 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:38:07,162 [242] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:38:07,163 [242] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:38:07,163 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:38:07,163 [242] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:07,163 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:07,163 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:07,163 [242] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,163 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:07,163 [242] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,163 [239] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,163 [242] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,163 [239] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,163 [239] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,165 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-web stdout | 2025-09-26 08:38:07,165 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-web stdout | 2025-09-26 08:38:07,166 [241] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:38:07,166 [241] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:38:07,167 [241] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:07,167 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:07,167 [241] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,167 [241] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,167 [241] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,168 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-web stdout | 2025-09-26 08:38:07,170 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,170 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,170 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,170 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,170 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,170 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,170 [242] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,170 [242] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,170 [242] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,170 [242] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,170 [242] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,171 [242] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,171 [242] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,171 [242] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,171 [242] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg2', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,171 [242] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:38:07,171 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,171 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,171 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg2', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,171 [239] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:38:07,171 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."organization" = %s) AND ("t1"."username" = %s)) LIMIT %s OFFSET %s', [True, 'testorg2', 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:07,172 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."organization" = %s) AND ("t1"."username" = %s)) LIMIT %s OFFSET %s', [True, 'quayorg', 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:07,173 [241] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,173 [241] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,173 [241] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,174 [241] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,174 [241] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,174 [241] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,174 [241] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,174 [241] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,174 [241] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg2', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:38:07,174 [241] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:38:07,175 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-web stdout | 2025-09-26 08:38:07,175 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."organization" = %s) AND ("t1"."username" = %s)) LIMIT %s OFFSET %s', [True, 'testorg', 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:07,175 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-web stdout | 2025-09-26 08:38:07,178 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-web stdout | 2025-09-26 08:38:07,178 [242] [DEBUG] [app] Ending request: urn:request:b00ce91e-821d-498c-85ee-691890f57373 (/api/v1/organization/testorg2/quota) {'endpoint': 'api.organizationquotalist', 'request_id': 'urn:request:b00ce91e-821d-498c-85ee-691890f57373', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/organization/testorg2/quota', 'path': '/api/v1/organization/testorg2/quota', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:38:07,179 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:38:07,179 [239] [DEBUG] [app] Ending request: urn:request:b0678898-26b8-45ba-94d2-3b2f3a1df7d6 (/api/v1/organization/quayorg/quota) {'endpoint': 'api.organizationquotalist', 'request_id': 'urn:request:b0678898-26b8-45ba-94d2-3b2f3a1df7d6', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/organization/quayorg/quota', 'path': '/api/v1/organization/quayorg/quota', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:38:07,179 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:38:07,180 [239] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:38:07 +0000] "GET /api/v1/organization/quayorg/quota HTTP/1.0" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:38:07 +0000] "GET /api/v1/organization/quayorg/quota HTTP/1.1" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.032 2412 0.032) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:38:07 +0000] "GET /api/v1/organization/testorg2/quota HTTP/1.1" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.032 2413 0.032) gunicorn-web stdout | 2025-09-26 08:38:07,180 [242] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:38:07 +0000] "GET /api/v1/organization/testorg2/quota HTTP/1.0" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:38:07,182 [241] [DEBUG] [app] Ending request: urn:request:0a2355a9-720b-4ec2-be82-d6709c159dd9 (/api/v1/organization/testorg/quota) {'endpoint': 'api.organizationquotalist', 'request_id': 'urn:request:0a2355a9-720b-4ec2-be82-d6709c159dd9', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/organization/testorg/quota', 'path': '/api/v1/organization/testorg/quota', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:38:07,182 [241] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:38:07 +0000] "GET /api/v1/organization/testorg/quota HTTP/1.1" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.035 2412 0.035) gunicorn-web stdout | 2025-09-26 08:38:07,183 [241] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:38:07 +0000] "GET /api/v1/organization/testorg/quota HTTP/1.0" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" proxycacheblobworker stdout | 2025-09-26 08:38:09,234 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} buildlogsarchiver stdout | 2025-09-26 08:38:09,352 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:38:09,352 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:39.351551+00:00 (in 29.999088 seconds) buildlogsarchiver stdout | 2025-09-26 08:38:09,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:39 GMT)" (scheduled at 2025-09-26 08:38:09.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:38:09,353 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 38, 9, 352750), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:38:09,366 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:38:09,366 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:38:09,366 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:39 GMT)" executed successfully manifestbackfillworker stdout | 2025-09-26 08:38:10,324 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} gunicorn-web stdout | 2025-09-26 08:38:12,847 [241] [DEBUG] [app] Starting request: urn:request:184385ca-c802-48d6-aa82-cecd26f31b67 (/api/v1/superuser/registrysize/) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:38:12,847 [241] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:12,847 [241] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:12,848 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:12,860 [241] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:38:12,860 [241] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:38:12,860 [241] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:12,861 [241] [DEBUG] [endpoints.api] Checking fresh login for user quay: Last login at 2025-09-26 08:37:21+00:00 gunicorn-web stdout | 2025-09-26 08:38:12,861 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:12,861 [241] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:12,861 [241] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:12,861 [241] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:12,861 [241] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:38:12,861 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."size_bytes", "t1"."running", "t1"."queued", "t1"."completed_ms" FROM "quotaregistrysize" AS "t1" LIMIT %s OFFSET %s', [1, 0]) gunicorn-web stdout | 2025-09-26 08:38:12,865 [241] [DEBUG] [peewee] ('INSERT INTO "quotaregistrysize" ("size_bytes", "running", "queued", "completed_ms") VALUES (%s, %s, %s, %s) RETURNING "quotaregistrysize"."id"', [0, False, True, None]) gunicorn-web stdout | 2025-09-26 08:38:12,869 [241] [INFO] [data.model.quota] Queued initial registry size calculation gunicorn-web stdout | 2025-09-26 08:38:12,870 [241] [DEBUG] [app] Ending request: urn:request:184385ca-c802-48d6-aa82-cecd26f31b67 (/api/v1/superuser/registrysize/) {'endpoint': 'api.superuserregistrysize', 'request_id': 'urn:request:184385ca-c802-48d6-aa82-cecd26f31b67', 'remote_addr': '10.131.2.20', 'http_method': 'POST', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/registrysize/', 'path': '/api/v1/superuser/registrysize/', 'parameters': {}, 'json_body': {}, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:38:12,870 [241] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:38:12,871 [241] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:38:12 +0000] "POST /api/v1/superuser/registrysize/ HTTP/1.0" 201 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:38:12 +0000] "POST /api/v1/superuser/registrysize/ HTTP/1.1" 201 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.026 2582 0.025) gunicorn-web stdout | 2025-09-26 08:38:13,217 [242] [DEBUG] [app] Starting request: urn:request:00a7c65f-10f5-4937-b6f0-e28543c10a9b (/api/v1/superuser/registrysize/) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:38:13,217 [242] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:13,217 [242] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:13,218 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:38:13,230 [242] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:38:13,230 [242] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:38:13,230 [242] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:13,231 [242] [DEBUG] [endpoints.api] Checking fresh login for user quay: Last login at 2025-09-26 08:37:21+00:00 gunicorn-web stdout | 2025-09-26 08:38:13,231 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:38:13,231 [242] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:13,231 [242] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:13,231 [242] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:38:13,231 [242] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:38:13,231 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."size_bytes", "t1"."running", "t1"."queued", "t1"."completed_ms" FROM "quotaregistrysize" AS "t1" LIMIT %s OFFSET %s', [1, 0]) gunicorn-web stdout | 2025-09-26 08:38:13,235 [242] [DEBUG] [app] Ending request: urn:request:00a7c65f-10f5-4937-b6f0-e28543c10a9b (/api/v1/superuser/registrysize/) {'endpoint': 'api.superuserregistrysize', 'request_id': 'urn:request:00a7c65f-10f5-4937-b6f0-e28543c10a9b', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/registrysize/', 'path': '/api/v1/superuser/registrysize/', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:38:13,236 [242] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:38:13 +0000] "GET /api/v1/superuser/registrysize/ HTTP/1.1" 200 70 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.020 2409 0.020) gunicorn-web stdout | 2025-09-26 08:38:13,236 [242] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:38:13 +0000] "GET /api/v1/superuser/registrysize/ HTTP/1.0" 200 70 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" proxycacheblobworker stdout | 2025-09-26 08:38:13,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:38:13,546 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:13.548017+00:00 (in 0.001810 seconds) proxycacheblobworker stdout | 2025-09-26 08:38:13,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:23 GMT)" (scheduled at 2025-09-26 08:38:13.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:38:13,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:38:13,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 38, 13, 546560), True, datetime.datetime(2025, 9, 26, 8, 38, 13, 546560), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:38:13,548 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:38:13,548 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:23.545186+00:00 (in 9.996815 seconds) proxycacheblobworker stdout | 2025-09-26 08:38:13,548 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:13 GMT)" (scheduled at 2025-09-26 08:38:13.548017+00:00) proxycacheblobworker stdout | 2025-09-26 08:38:13,548 [69] [DEBUG] [workers.queueworker] Running watchdog. proxycacheblobworker stdout | 2025-09-26 08:38:13,548 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:13 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:38:13,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:38:13,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:38:13,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:23 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:38:13,758 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:38:13,758 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:13.760217+00:00 (in 0.001864 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:38:13,758 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:13 GMT)" (scheduled at 2025-09-26 08:38:13.757911+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:38:13,759 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."subject_backfilled" = %s) OR ("t1"."subject_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:38:13,760 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:38:13,760 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:13.757911+00:00 (in 59.997296 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:38:13,760 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:13 GMT)" (scheduled at 2025-09-26 08:38:13.760217+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:38:13,762 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."artifact_type_backfilled" = %s) OR ("t1"."artifact_type_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:38:13,773 [64] [DEBUG] [__main__] Manifest subject backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:38:13,774 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:38:13,777 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:13 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:38:13,781 [64] [DEBUG] [__main__] Manifest artifact_type backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:38:13,781 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:38:13,781 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:13 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:38:16,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:38:16,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:26.440077+00:00 (in 9.999555 seconds) notificationworker stdout | 2025-09-26 08:38:16,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:26 GMT)" (scheduled at 2025-09-26 08:38:16.440077+00:00) notificationworker stdout | 2025-09-26 08:38:16,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:38:16,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 38, 16, 440844), True, datetime.datetime(2025, 9, 26, 8, 38, 16, 440844), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:38:16,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:38:16,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:38:16,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:26 GMT)" executed successfully securityworker stdout | 2025-09-26 08:38:17,327 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} gunicorn-web stdout | 2025-09-26 08:38:17,639 [239] [DEBUG] [app] Starting request: urn:request:54cef1fc-34a4-46c0-86f0-8d20f2b4462f (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:38:17,641 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:38:17,644 [257] [DEBUG] [app] Starting request: urn:request:d899c472-a2c1-4c96-80d5-feb4387bb8ca (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:38:17,644 [257] [DEBUG] [app] Ending request: urn:request:d899c472-a2c1-4c96-80d5-feb4387bb8ca (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:d899c472-a2c1-4c96-80d5-feb4387bb8ca', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:38:17,645 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:38:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:38:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.003) gunicorn-web stdout | 2025-09-26 08:38:17,645 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:38:17,646 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:38:17,647 [239] [DEBUG] [app] Starting request: urn:request:6ed05f29-fc53-41ae-baf1-c88fd4794425 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:38:17,648 [239] [DEBUG] [app] Ending request: urn:request:6ed05f29-fc53-41ae-baf1-c88fd4794425 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:6ed05f29-fc53-41ae-baf1-c88fd4794425', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:38:17,648 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:38:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:38:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:38:17,648 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:38:17,649 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:38:17,649 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:38:17,649 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:38:17,657 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:38:17,657 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:38:17,666 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:38:17,670 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:38:17,674 [239] [DEBUG] [app] Ending request: urn:request:54cef1fc-34a4-46c0-86f0-8d20f2b4462f (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:54cef1fc-34a4-46c0-86f0-8d20f2b4462f', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:38:17,674 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:38:17,675 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:38:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:38:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.037 118 0.036) gunicorn-web stdout | 2025-09-26 08:38:17,727 [239] [DEBUG] [app] Starting request: urn:request:586799c0-69bc-4046-bdf0-ba3e29bdc056 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:38:17,729 [256] [DEBUG] [app] Starting request: urn:request:748fb1ac-2b01-4043-9b54-dabec6f1dc0a (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:38:17,730 [256] [DEBUG] [app] Ending request: urn:request:748fb1ac-2b01-4043-9b54-dabec6f1dc0a (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:748fb1ac-2b01-4043-9b54-dabec6f1dc0a', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:38:17,730 [256] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:38:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:38:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.001) gunicorn-web stdout | 2025-09-26 08:38:17,730 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:38:17,731 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:38:17,733 [239] [DEBUG] [app] Starting request: urn:request:bc3f1710-78c6-443d-8235-10467df17c8b (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:38:17,733 [239] [DEBUG] [app] Ending request: urn:request:bc3f1710-78c6-443d-8235-10467df17c8b (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:bc3f1710-78c6-443d-8235-10467df17c8b', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:38:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.002) gunicorn-web stdout | 2025-09-26 08:38:17,734 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:38:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:38:17,734 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:38:17,734 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:38:17,734 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:38:17,734 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:38:17,742 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:38:17,742 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:38:17,752 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:38:17,756 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:38:17,758 [239] [DEBUG] [app] Ending request: urn:request:586799c0-69bc-4046-bdf0-ba3e29bdc056 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:586799c0-69bc-4046-bdf0-ba3e29bdc056', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:38:17,759 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:38:17,759 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:38:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:38:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.033 118 0.032) securityworker stdout | 2025-09-26 08:38:19,334 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:38:19,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:27.335452+00:00 (in 8.000303 seconds) securityworker stdout | 2025-09-26 08:38:19,335 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:49 GMT)" (scheduled at 2025-09-26 08:38:19.334273+00:00) securityworker stdout | 2025-09-26 08:38:19,335 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:38:19,335 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:38:19,337 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:38:19,339 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:38:19,351 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stdout | 2025-09-26 08:38:19,351 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:49 GMT)" executed successfully gunicorn-secscan stdout | 2025-09-26 08:38:20,150 [228] [INFO] [gunicorn.access] - - [26/Sep/2025:08:38:20 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:38:20 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) logrotateworker stdout | 2025-09-26 08:38:20,343 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} buildlogsarchiver stdout | 2025-09-26 08:38:21,435 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'} gcworker stdout | 2025-09-26 08:38:21,444 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:38:21,444 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:34.439268+00:00 (in 12.994407 seconds) gcworker stdout | 2025-09-26 08:38:21,445 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:51 GMT)" (scheduled at 2025-09-26 08:38:21.444401+00:00) gcworker stdout | 2025-09-26 08:38:21,445 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) gcworker stdout | 2025-09-26 08:38:21,457 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875601457, None, 1, 0]) gcworker stdout | 2025-09-26 08:38:21,462 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:38:21,462 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:51 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:38:22,135 [64] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestsubjectbackfillworker.py', 'pid': '64'} securityscanningnotificationworker stdout | 2025-09-26 08:38:22,245 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:38:22,245 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:42.242482+00:00 (in 19.996759 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:38:22,246 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:22 GMT)" (scheduled at 2025-09-26 08:38:22.245238+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:38:22,246 [88] [DEBUG] [workers.queueworker] Running watchdog. securityscanningnotificationworker stdout | 2025-09-26 08:38:22,246 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:22 GMT)" executed successfully gunicorn-secscan stdout | 2025-09-26 08:38:22,803 [228] [INFO] [gunicorn.access] - - [26/Sep/2025:08:38:22 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:38:22 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 959 0.001) repositorygcworker stdout | 2025-09-26 08:38:23,149 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:38:23,149 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:30.235102+00:00 (in 7.085501 seconds) repositorygcworker stdout | 2025-09-26 08:38:23,149 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:23 GMT)" (scheduled at 2025-09-26 08:38:23.149141+00:00) repositorygcworker stdout | 2025-09-26 08:38:23,149 [86] [DEBUG] [workers.queueworker] Getting work item from queue. repositorygcworker stdout | 2025-09-26 08:38:23,150 [86] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 38, 23, 149956), True, datetime.datetime(2025, 9, 26, 8, 38, 23, 149956), 0, 'repositorygc/%', 50, 1, 0]) repositorygcworker stdout | 2025-09-26 08:38:23,162 [86] [DEBUG] [workers.queueworker] No more work. repositorygcworker stdout | 2025-09-26 08:38:23,162 [86] [DEBUG] [data.database] Disconnecting from database. repositorygcworker stdout | 2025-09-26 08:38:23,162 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:23 GMT)" executed successfully storagereplication stdout | 2025-09-26 08:38:23,174 [95] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'storagereplication.py', 'pid': '95'} proxycacheblobworker stdout | 2025-09-26 08:38:23,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:38:23,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:33.545186+00:00 (in 9.999554 seconds) proxycacheblobworker stdout | 2025-09-26 08:38:23,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:33 GMT)" (scheduled at 2025-09-26 08:38:23.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:38:23,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:38:23,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 38, 23, 546021), True, datetime.datetime(2025, 9, 26, 8, 38, 23, 546021), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:38:23,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:38:23,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:38:23,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:33 GMT)" executed successfully teamsyncworker stdout | 2025-09-26 08:38:23,713 [105] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'teamsyncworker.py', 'pid': '105'} servicekey stdout | 2025-09-26 08:38:23,722 [93] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'servicekeyworker.py', 'pid': '93'} blobuploadcleanupworker stdout | 2025-09-26 08:38:23,800 [50] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'blobuploadcleanupworker.py', 'pid': '50'} gcworker stdout | 2025-09-26 08:38:24,125 [57] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'gcworker.py', 'pid': '57'} queuecleanupworker stdout | 2025-09-26 08:38:24,228 [71] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'queuecleanupworker.py', 'pid': '71'} securityscanningnotificationworker stdout | 2025-09-26 08:38:24,541 [88] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityscanningnotificationworker.py', 'pid': '88'} chunkcleanupworker stdout | 2025-09-26 08:38:24,837 [53] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'chunkcleanupworker.py', 'pid': '53'} repositorygcworker stdout | 2025-09-26 08:38:25,552 [86] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositorygcworker.py', 'pid': '86'} gunicorn-secscan stdout | 2025-09-26 08:38:25,708 [227] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '227'} gunicorn-secscan stdout | 2025-09-26 08:38:25,712 [228] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '228'} gunicorn-secscan stdout | 2025-09-26 08:38:25,717 [60] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '60'} namespacegcworker stdout | 2025-09-26 08:38:25,944 [66] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'namespacegcworker.py', 'pid': '66'} gunicorn-secscan stdout | 2025-09-26 08:38:26,001 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:38:26 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:38:26 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) repositoryactioncounter stdout | 2025-09-26 08:38:26,427 [80] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositoryactioncounter.py', 'pid': '80'} notificationworker stdout | 2025-09-26 08:38:26,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:38:26,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:34.441526+00:00 (in 8.001024 seconds) notificationworker stdout | 2025-09-26 08:38:26,441 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:36 GMT)" (scheduled at 2025-09-26 08:38:26.440077+00:00) notificationworker stdout | 2025-09-26 08:38:26,441 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:38:26,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 38, 26, 441197), True, datetime.datetime(2025, 9, 26, 8, 38, 26, 441197), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:38:26,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:38:26,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:38:26,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:36 GMT)" executed successfully expiredappspecifictokenworker stdout | 2025-09-26 08:38:26,532 [55] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'expiredappspecifictokenworker.py', 'pid': '55'} gunicorn-web stdout | 2025-09-26 08:38:26,578 [240] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '240'} gunicorn-web stdout | 2025-09-26 08:38:26,585 [239] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '239'} gunicorn-web stdout | 2025-09-26 08:38:26,670 [242] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '242'} gunicorn-web stdout | 2025-09-26 08:38:26,678 [241] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '241'} gunicorn-web stdout | 2025-09-26 08:38:26,684 [61] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '61'} builder stdout | 2025-09-26 08:38:26,843 [51] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'builder.py', 'pid': '51'} securityworker stdout | 2025-09-26 08:38:27,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:38:27,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:49.334273+00:00 (in 21.998356 seconds) securityworker stdout | 2025-09-26 08:38:27,336 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:57 GMT)" (scheduled at 2025-09-26 08:38:27.335452+00:00) securityworker stdout | 2025-09-26 08:38:27,336 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:38:27,336 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:38:27,338 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:38:27,341 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:38:27,353 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:38:27,353 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:38:27,353 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:38:27,353 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:38:27,354 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 36]) securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:38:27,358 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:38:27,358 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:38:27,358 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:38:27,358 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:38:27,358 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:38:27,358 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:38:27,358 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:38:27,358 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:38:27,358 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:38:27,358 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:38:27,358 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:38:27,359 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 33, 27, 341450), 1, 36]) securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:38:27,362 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:38:27,362 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:38:27,362 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:38:27,362 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:38:27,362 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:38:27,362 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:38:27,362 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:38:27,362 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:38:27,362 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:38:27,362 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:38:27,362 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:38:27,363 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 33, 27, 341450), 1, 36]) securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:38:27,367 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:38:27,367 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:38:27,367 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:38:27,367 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:38:27,367 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:38:27,367 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:38:27,367 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:38:27,367 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:38:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:38:27,368 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:38:57 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:38:27,743 [68] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'notificationworker.py', 'pid': '68'} globalpromstats stdout | 2025-09-26 08:38:30,116 [58] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'globalpromstats.py', 'pid': '58'} repositorygcworker stdout | 2025-09-26 08:38:30,235 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:38:30,235 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:39.235682+00:00 (in 9.000135 seconds) repositorygcworker stdout | 2025-09-26 08:38:30,235 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:43:30 GMT)" (scheduled at 2025-09-26 08:38:30.235102+00:00) repositorygcworker stdout | 2025-09-26 08:38:30,236 [86] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [False, datetime.datetime(2025, 9, 26, 8, 38, 30, 235826), 'repositorygc/%']) repositorygcworker stdout | 2025-09-26 08:38:30,269 [86] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 38, 30, 235826), True, datetime.datetime(2025, 9, 26, 8, 38, 30, 235826), 0, 'repositorygc/%']) repositorygcworker stdout | 2025-09-26 08:38:30,281 [86] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) AND NOT ("t1"."queue_name" IN (SELECT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s)))))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 38, 30, 235826), True, datetime.datetime(2025, 9, 26, 8, 38, 30, 235826), 0, 'repositorygc/%', False, datetime.datetime(2025, 9, 26, 8, 38, 30, 235826), 'repositorygc/%']) repositorygcworker stdout | 2025-09-26 08:38:30,294 [86] [DEBUG] [data.database] Disconnecting from database. repositorygcworker stdout | 2025-09-26 08:38:30,294 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:43:30 GMT)" executed successfully gunicorn-web stdout | 2025-09-26 08:38:32,639 [240] [DEBUG] [app] Starting request: urn:request:44a0c255-d176-4ce2-b49b-7a7e5d81c2a8 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:38:32,641 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:38:32,642 [250] [DEBUG] [app] Starting request: urn:request:1bf6daaa-79b3-4f5e-b195-dca6ca773ec6 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:38:32,643 [250] [DEBUG] [app] Ending request: urn:request:1bf6daaa-79b3-4f5e-b195-dca6ca773ec6 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:1bf6daaa-79b3-4f5e-b195-dca6ca773ec6', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:38:32,643 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:38:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:38:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-web stdout | 2025-09-26 08:38:32,644 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:38:32,645 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:38:32,647 [240] [DEBUG] [app] Starting request: urn:request:7889988b-9371-47fe-89b3-8a02561ddd08 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:38:32,647 [240] [DEBUG] [app] Ending request: urn:request:7889988b-9371-47fe-89b3-8a02561ddd08 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:7889988b-9371-47fe-89b3-8a02561ddd08', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:38:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.007 159 0.007) gunicorn-web stdout | 2025-09-26 08:38:32,656 [240] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:38:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:38:32,656 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:38:32,657 [240] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:38:32,657 [240] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:38:32,657 [240] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:38:32,665 [240] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:38:32,665 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:38:32,676 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:38:32,680 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:38:32,683 [240] [DEBUG] [app] Ending request: urn:request:44a0c255-d176-4ce2-b49b-7a7e5d81c2a8 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:44a0c255-d176-4ce2-b49b-7a7e5d81c2a8', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:38:32,684 [240] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:38:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.046 118 0.046) gunicorn-web stdout | 2025-09-26 08:38:32,684 [240] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:38:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" gunicorn-web stdout | 2025-09-26 08:38:32,727 [239] [DEBUG] [app] Starting request: urn:request:718f883a-fccd-473f-a9fa-bcf3a6ecf854 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:38:32,728 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:38:32,730 [257] [DEBUG] [app] Starting request: urn:request:2f0b3cb4-93ae-4d37-9277-4c981cde4c8a (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:38:32,730 [257] [DEBUG] [app] Ending request: urn:request:2f0b3cb4-93ae-4d37-9277-4c981cde4c8a (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:2f0b3cb4-93ae-4d37-9277-4c981cde4c8a', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:38:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-registry stdout | 2025-09-26 08:38:32,730 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:38:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:38:32,730 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:38:32,731 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:38:32,733 [242] [DEBUG] [app] Starting request: urn:request:c07ac603-121a-4ee1-a586-200c666aa8a9 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:38:32,733 [242] [DEBUG] [app] Ending request: urn:request:c07ac603-121a-4ee1-a586-200c666aa8a9 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:c07ac603-121a-4ee1-a586-200c666aa8a9', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:38:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.002) gunicorn-web stdout | 2025-09-26 08:38:32,733 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:38:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:38:32,734 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:38:32,734 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:38:32,734 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:38:32,734 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:38:32,741 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:38:32,741 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:38:32,751 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:38:32,755 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:38:32,759 [239] [DEBUG] [app] Ending request: urn:request:718f883a-fccd-473f-a9fa-bcf3a6ecf854 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:718f883a-fccd-473f-a9fa-bcf3a6ecf854', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:38:32,759 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:38:32,759 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:38:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:38:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.033 118 0.033) gunicorn-registry stdout | 2025-09-26 08:38:32,866 [257] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '257'} gunicorn-registry stdout | 2025-09-26 08:38:32,869 [252] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '252'} gunicorn-registry stdout | 2025-09-26 08:38:32,875 [254] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '254'} gunicorn-registry stdout | 2025-09-26 08:38:32,880 [59] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '59'} gunicorn-registry stdout | 2025-09-26 08:38:32,934 [253] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '253'} gunicorn-registry stdout | 2025-09-26 08:38:32,948 [255] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '255'} gunicorn-registry stdout | 2025-09-26 08:38:32,974 [256] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '256'} gunicorn-registry stdout | 2025-09-26 08:38:32,982 [251] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '251'} gunicorn-registry stdout | 2025-09-26 08:38:32,988 [250] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '250'} proxycacheblobworker stdout | 2025-09-26 08:38:33,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:38:33,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:43.545186+00:00 (in 9.999248 seconds) proxycacheblobworker stdout | 2025-09-26 08:38:33,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:43 GMT)" (scheduled at 2025-09-26 08:38:33.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:38:33,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:38:33,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 38, 33, 546310), True, datetime.datetime(2025, 9, 26, 8, 38, 33, 546310), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:38:33,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:38:33,559 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:38:33,559 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:43 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:38:33,646 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} gcworker stdout | 2025-09-26 08:38:34,441 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:38:34,442 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:51.444401+00:00 (in 17.002181 seconds) gcworker stdout | 2025-09-26 08:38:34,443 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:04 GMT)" (scheduled at 2025-09-26 08:38:34.439268+00:00) gcworker stdout | 2025-09-26 08:38:34,443 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:38:34,443 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:04 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:38:34,441 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:38:34,442 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:36.440077+00:00 (in 1.998031 seconds) notificationworker stdout | 2025-09-26 08:38:34,442 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:34 GMT)" (scheduled at 2025-09-26 08:38:34.441526+00:00) notificationworker stdout | 2025-09-26 08:38:34,442 [68] [DEBUG] [workers.queueworker] Running watchdog. notificationworker stdout | 2025-09-26 08:38:34,442 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:34 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:38:34,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:38:34,735 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:04.734534+00:00 (in 29.999515 seconds) autopruneworker stdout | 2025-09-26 08:38:34,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:04 GMT)" (scheduled at 2025-09-26 08:38:34.734534+00:00) autopruneworker stdout | 2025-09-26 08:38:34,744 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758872314743, None, 1, 0]) autopruneworker stdout | 2025-09-26 08:38:34,750 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:38:34,750 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:38:34,750 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:04 GMT)" executed successfully namespacegcworker stdout | 2025-09-26 08:38:34,841 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:38:34,841 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:58.835976+00:00 (in 23.994635 seconds) namespacegcworker stdout | 2025-09-26 08:38:34,841 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:34 GMT)" (scheduled at 2025-09-26 08:38:34.840898+00:00) namespacegcworker stdout | 2025-09-26 08:38:34,841 [66] [DEBUG] [workers.queueworker] Running watchdog. namespacegcworker stdout | 2025-09-26 08:38:34,841 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:34 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:38:36,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:38:36,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:46.440077+00:00 (in 9.999556 seconds) notificationworker stdout | 2025-09-26 08:38:36,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:46 GMT)" (scheduled at 2025-09-26 08:38:36.440077+00:00) notificationworker stdout | 2025-09-26 08:38:36,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:38:36,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 38, 36, 440831), True, datetime.datetime(2025, 9, 26, 8, 38, 36, 440831), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:38:36,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:38:36,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:38:36,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:46 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:38:36,949 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} repositorygcworker stdout | 2025-09-26 08:38:39,235 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:38:39,237 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:23.149141+00:00 (in 43.912143 seconds) repositorygcworker stdout | 2025-09-26 08:38:39,237 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:39 GMT)" (scheduled at 2025-09-26 08:38:39.235682+00:00) repositorygcworker stdout | 2025-09-26 08:38:39,237 [86] [DEBUG] [workers.queueworker] Running watchdog. repositorygcworker stdout | 2025-09-26 08:38:39,237 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:39 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:38:39,251 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} buildlogsarchiver stdout | 2025-09-26 08:38:39,352 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:38:39,352 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:09.351551+00:00 (in 29.999126 seconds) buildlogsarchiver stdout | 2025-09-26 08:38:39,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:09 GMT)" (scheduled at 2025-09-26 08:38:39.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:38:39,353 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 38, 39, 352756), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:38:39,367 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:38:39,367 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:38:39,368 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:09 GMT)" executed successfully manifestbackfillworker stdout | 2025-09-26 08:38:40,341 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} securityscanningnotificationworker stdout | 2025-09-26 08:38:42,242 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:38:42,243 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:22.245238+00:00 (in 40.002222 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:38:42,243 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:42 GMT)" (scheduled at 2025-09-26 08:38:42.242482+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:38:42,243 [88] [DEBUG] [workers.queueworker] Getting work item from queue. securityscanningnotificationworker stdout | 2025-09-26 08:38:42,244 [88] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 38, 42, 243395), True, datetime.datetime(2025, 9, 26, 8, 38, 42, 243395), 0, 'secscanv4/%', 50, 1, 0]) securityscanningnotificationworker stdout | 2025-09-26 08:38:42,257 [88] [DEBUG] [workers.queueworker] No more work. securityscanningnotificationworker stdout | 2025-09-26 08:38:42,257 [88] [DEBUG] [data.database] Disconnecting from database. securityscanningnotificationworker stdout | 2025-09-26 08:38:42,257 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:42 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:38:43,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:38:43,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:47.547669+00:00 (in 4.001982 seconds) proxycacheblobworker stdout | 2025-09-26 08:38:43,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:53 GMT)" (scheduled at 2025-09-26 08:38:43.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:38:43,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:38:43,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 38, 43, 546062), True, datetime.datetime(2025, 9, 26, 8, 38, 43, 546062), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:38:43,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:38:43,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:38:43,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:53 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:38:45,947 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:38:45,947 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:50.940190+00:00 (in 4.992758 seconds) exportactionlogsworker stdout | 2025-09-26 08:38:45,947 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:45 GMT)" (scheduled at 2025-09-26 08:38:45.946993+00:00) exportactionlogsworker stdout | 2025-09-26 08:38:45,947 [56] [DEBUG] [workers.queueworker] Running watchdog. exportactionlogsworker stdout | 2025-09-26 08:38:45,947 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:45 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:38:46,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:38:46,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:56.440077+00:00 (in 9.999545 seconds) notificationworker stdout | 2025-09-26 08:38:46,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:56 GMT)" (scheduled at 2025-09-26 08:38:46.440077+00:00) notificationworker stdout | 2025-09-26 08:38:46,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:38:46,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 38, 46, 440844), True, datetime.datetime(2025, 9, 26, 8, 38, 46, 440844), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:38:46,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:38:46,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:38:46,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:38:56 GMT)" executed successfully securityworker stdout | 2025-09-26 08:38:47,346 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} proxycacheblobworker stdout | 2025-09-26 08:38:47,547 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:38:47,548 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:53.545186+00:00 (in 5.997048 seconds) proxycacheblobworker stdout | 2025-09-26 08:38:47,548 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:43:47 GMT)" (scheduled at 2025-09-26 08:38:47.547669+00:00) proxycacheblobworker stdout | 2025-09-26 08:38:47,548 [69] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [False, datetime.datetime(2025, 9, 26, 8, 38, 47, 548438), 'proxycacheblob/%']) proxycacheblobworker stdout | 2025-09-26 08:38:47,563 [69] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 38, 47, 548438), True, datetime.datetime(2025, 9, 26, 8, 38, 47, 548438), 0, 'proxycacheblob/%']) proxycacheblobworker stdout | 2025-09-26 08:38:47,567 [69] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) AND NOT ("t1"."queue_name" IN (SELECT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s)))))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 38, 47, 548438), True, datetime.datetime(2025, 9, 26, 8, 38, 47, 548438), 0, 'proxycacheblob/%', False, datetime.datetime(2025, 9, 26, 8, 38, 47, 548438), 'proxycacheblob/%']) proxycacheblobworker stdout | 2025-09-26 08:38:47,571 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:38:47,571 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:43:47 GMT)" executed successfully gunicorn-web stdout | 2025-09-26 08:38:47,639 [242] [DEBUG] [app] Starting request: urn:request:e98c13ea-ec74-426d-84da-d05a42cd1f77 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:38:47,641 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:38:47,643 [250] [DEBUG] [app] Starting request: urn:request:140085ce-15f5-41a4-bf69-259633123abd (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:38:47,643 [250] [DEBUG] [app] Ending request: urn:request:140085ce-15f5-41a4-bf69-259633123abd (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:140085ce-15f5-41a4-bf69-259633123abd', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:38:47,644 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:38:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:38:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:38:47,644 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:38:47,645 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:38:47,647 [242] [DEBUG] [app] Starting request: urn:request:93b215ca-8581-4122-a928-de36c40bcb64 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:38:47,647 [242] [DEBUG] [app] Ending request: urn:request:93b215ca-8581-4122-a928-de36c40bcb64 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:93b215ca-8581-4122-a928-de36c40bcb64', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:38:47,648 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:38:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:38:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.002) gunicorn-web stdout | 2025-09-26 08:38:47,648 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:38:47,648 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:38:47,648 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:38:47,648 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:38:47,656 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:38:47,656 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:38:47,667 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:38:47,671 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:38:47,675 [242] [DEBUG] [app] Ending request: urn:request:e98c13ea-ec74-426d-84da-d05a42cd1f77 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:e98c13ea-ec74-426d-84da-d05a42cd1f77', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:38:47,675 [242] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:38:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.036 118 0.036) gunicorn-web stdout | 2025-09-26 08:38:47,675 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:38:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" gunicorn-web stdout | 2025-09-26 08:38:47,727 [242] [DEBUG] [app] Starting request: urn:request:37717acc-ef0b-4fb3-a36e-6b67d24016e8 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:38:47,734 [257] [DEBUG] [app] Starting request: urn:request:3bb68fbd-a23d-49c1-912e-3d4a14599778 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:38:47,734 [257] [DEBUG] [app] Ending request: urn:request:3bb68fbd-a23d-49c1-912e-3d4a14599778 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:3bb68fbd-a23d-49c1-912e-3d4a14599778', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:38:47,734 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:38:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:38:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-web stdout | 2025-09-26 08:38:47,735 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:38:47,735 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:38:47,737 [242] [DEBUG] [app] Starting request: urn:request:8cb55e13-a06d-4591-9088-f07ce46be6c5 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:38:47,737 [242] [DEBUG] [app] Ending request: urn:request:8cb55e13-a06d-4591-9088-f07ce46be6c5 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:8cb55e13-a06d-4591-9088-f07ce46be6c5', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:38:47,738 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:38:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:38:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:38:47,738 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:38:47,738 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:38:47,739 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:38:47,739 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:38:47,746 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:38:47,746 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:38:47,756 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:38:47,759 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:38:47,763 [242] [DEBUG] [app] Ending request: urn:request:37717acc-ef0b-4fb3-a36e-6b67d24016e8 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:37717acc-ef0b-4fb3-a36e-6b67d24016e8', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:38:47,763 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:38:47,763 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:38:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:38:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.037 118 0.037) gunicorn-secscan stdout | 2025-09-26 08:38:48,868 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:38:48 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:38:48 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 959 0.000) securityworker stdout | 2025-09-26 08:38:49,334 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:38:49,334 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:38:57.335452+00:00 (in 8.000713 seconds) securityworker stdout | 2025-09-26 08:38:49,335 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:19 GMT)" (scheduled at 2025-09-26 08:38:49.334273+00:00) securityworker stdout | 2025-09-26 08:38:49,335 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:38:49,335 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:38:49,337 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:38:49,339 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:38:49,351 [89] [DEBUG] [peewee] ('SELECT Min("t1"."id") FROM "manifest" AS "t1"', []) securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:38:49,354 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:38:49,354 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:38:49,354 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:38:49,354 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:38:49,355 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 6, 14]) securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 6-14 by worker securityworker stdout | 2025-09-26 08:38:49,359 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 6-14 by worker securityworker stdout | 2025-09-26 08:38:49,359 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 6-14 securityworker stdout | 2025-09-26 08:38:49,359 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 6-14 securityworker stdout | 2025-09-26 08:38:49,359 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:38:49,359 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:38:49,359 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:38:49,359 [89] [DEBUG] [util.migrate.allocator] Left range 6-14 securityworker stdout | 2025-09-26 08:38:49,359 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 14-36 securityworker stdout | 2025-09-26 08:38:49,359 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 6-14 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 6-14 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Left range 6-14 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 14-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:38:49,360 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 25, 33]) securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 25-33 by worker securityworker stdout | 2025-09-26 08:38:49,364 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 25-33 by worker securityworker stdout | 2025-09-26 08:38:49,364 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 25-33 securityworker stdout | 2025-09-26 08:38:49,364 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 25-33 securityworker stdout | 2025-09-26 08:38:49,364 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stdout | 2025-09-26 08:38:49,364 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:38:49,364 [89] [DEBUG] [util.migrate.allocator] Selected random hole 2 with 3 total holes securityworker stdout | 2025-09-26 08:38:49,364 [89] [DEBUG] [util.migrate.allocator] Left range 6-14 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 25-33 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 25-33 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 2 with 3 total holes securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Left range 6-14 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Right range 25-33 securityworker stdout | 2025-09-26 08:38:49,364 [89] [DEBUG] [util.migrate.allocator] Right range 25-33 securityworker stdout | 2025-09-26 08:38:49,364 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 14-25 securityworker stdout | 2025-09-26 08:38:49,364 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 17 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 14-25 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 17 securityworker stdout | 2025-09-26 08:38:49,365 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 14, 22]) securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 14-22 by worker securityworker stdout | 2025-09-26 08:38:49,368 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 14-22 by worker securityworker stdout | 2025-09-26 08:38:49,368 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 14-22 securityworker stdout | 2025-09-26 08:38:49,368 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 6-14 securityworker stdout | 2025-09-26 08:38:49,368 [89] [DEBUG] [util.migrate.allocator] Already merged with block 6-14 securityworker stdout | 2025-09-26 08:38:49,368 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:38:49,368 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 6-22 securityworker stdout | 2025-09-26 08:38:49,368 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stdout | 2025-09-26 08:38:49,368 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 14-22 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 6-14 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 6-14 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 6-22 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 2 with 3 total holes securityworker stdout | 2025-09-26 08:38:49,368 [89] [DEBUG] [util.migrate.allocator] Selected random hole 2 with 3 total holes securityworker stdout | 2025-09-26 08:38:49,368 [89] [DEBUG] [util.migrate.allocator] Left range 6-22 securityworker stdout | 2025-09-26 08:38:49,368 [89] [DEBUG] [util.migrate.allocator] Right range 25-33 securityworker stdout | 2025-09-26 08:38:49,368 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 22-25 securityworker stdout | 2025-09-26 08:38:49,368 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 22 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Left range 6-22 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Right range 25-33 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 22-25 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 22 securityworker stdout | 2025-09-26 08:38:49,369 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 22, 30]) securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 22-30 by worker securityworker stdout | 2025-09-26 08:38:49,372 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 22-30 by worker securityworker stdout | 2025-09-26 08:38:49,372 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 22-30 securityworker stdout | 2025-09-26 08:38:49,372 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 6-22 securityworker stdout | 2025-09-26 08:38:49,372 [89] [DEBUG] [util.migrate.allocator] Already merged with block 6-22 securityworker stdout | 2025-09-26 08:38:49,372 [89] [DEBUG] [util.migrate.allocator] Merging with block 25-33 securityworker stdout | 2025-09-26 08:38:49,372 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stdout | 2025-09-26 08:38:49,372 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 6-33 securityworker stdout | 2025-09-26 08:38:49,372 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:38:49,372 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 22-30 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 6-22 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 6-22 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 25-33 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 6-33 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:38:49,372 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:38:49,372 [89] [DEBUG] [util.migrate.allocator] Left range 6-33 securityworker stdout | 2025-09-26 08:38:49,372 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 33-36 securityworker stdout | 2025-09-26 08:38:49,372 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 33 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Left range 6-33 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 33-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 33 securityworker stdout | 2025-09-26 08:38:49,373 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 33, 36]) securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 33-36 by worker securityworker stdout | 2025-09-26 08:38:49,376 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 33-36 by worker securityworker stdout | 2025-09-26 08:38:49,376 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 33-36 securityworker stdout | 2025-09-26 08:38:49,376 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 6-33 securityworker stdout | 2025-09-26 08:38:49,376 [89] [DEBUG] [util.migrate.allocator] Already merged with block 6-33 securityworker stdout | 2025-09-26 08:38:49,376 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 6 securityworker stdout | 2025-09-26 08:38:49,376 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:38:49,376 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:38:49,376 [89] [DEBUG] [util.migrate.allocator] Total range: 1-6 securityworker stdout | 2025-09-26 08:38:49,376 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 33-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 6-33 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 6-33 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 6 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-6 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-6 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:38:49,376 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-6 securityworker stdout | 2025-09-26 08:38:49,376 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:38:49,377 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 9]) securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stdout | 2025-09-26 08:38:49,380 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stdout | 2025-09-26 08:38:49,380 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:38:49,380 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:38:49,380 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 9 securityworker stdout | 2025-09-26 08:38:49,380 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:38:49,380 [89] [DEBUG] [util.migrate.allocator] Total range: 9-1 securityworker stdout | 2025-09-26 08:38:49,380 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:38:49,380 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:38:49,380 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 9 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 9-1 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:38:49,380 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:38:49,380 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:38:49,381 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 33, 49, 339116), 14, 22]) securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 14-22 by worker securityworker stdout | 2025-09-26 08:38:49,384 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 14-22 by worker securityworker stdout | 2025-09-26 08:38:49,384 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 14-22 securityworker stdout | 2025-09-26 08:38:49,384 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 14-22 securityworker stdout | 2025-09-26 08:38:49,384 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:38:49,384 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:38:49,384 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:38:49,384 [89] [DEBUG] [util.migrate.allocator] Left range 14-22 securityworker stdout | 2025-09-26 08:38:49,384 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 22-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 14-22 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 14-22 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Left range 14-22 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 22-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:38:49,384 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:38:49,385 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 33, 49, 339116), 25, 33]) securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 25-33 by worker securityworker stdout | 2025-09-26 08:38:49,388 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 25-33 by worker securityworker stdout | 2025-09-26 08:38:49,388 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 25-33 securityworker stdout | 2025-09-26 08:38:49,388 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 25-33 securityworker stdout | 2025-09-26 08:38:49,388 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stdout | 2025-09-26 08:38:49,388 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:38:49,388 [89] [DEBUG] [util.migrate.allocator] Selected random hole 2 with 3 total holes securityworker stdout | 2025-09-26 08:38:49,388 [89] [DEBUG] [util.migrate.allocator] Left range 14-22 securityworker stdout | 2025-09-26 08:38:49,388 [89] [DEBUG] [util.migrate.allocator] Right range 25-33 securityworker stdout | 2025-09-26 08:38:49,388 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 22-25 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 25-33 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 25-33 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 2 with 3 total holes securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Left range 14-22 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Right range 25-33 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 22-25 securityworker stdout | 2025-09-26 08:38:49,388 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 22 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 22 securityworker stdout | 2025-09-26 08:38:49,389 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 33, 49, 339116), 22, 30]) securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 22-30 by worker securityworker stdout | 2025-09-26 08:38:49,392 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 22-30 by worker securityworker stdout | 2025-09-26 08:38:49,392 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 22-30 securityworker stdout | 2025-09-26 08:38:49,392 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 14-22 securityworker stdout | 2025-09-26 08:38:49,392 [89] [DEBUG] [util.migrate.allocator] Already merged with block 14-22 securityworker stdout | 2025-09-26 08:38:49,392 [89] [DEBUG] [util.migrate.allocator] Merging with block 25-33 securityworker stdout | 2025-09-26 08:38:49,392 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stdout | 2025-09-26 08:38:49,392 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 14-33 securityworker stdout | 2025-09-26 08:38:49,392 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:38:49,392 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:38:49,392 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:38:49,392 [89] [DEBUG] [util.migrate.allocator] Left range 14-33 securityworker stdout | 2025-09-26 08:38:49,392 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 33-36 securityworker stdout | 2025-09-26 08:38:49,392 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 33 securityworker stdout | 2025-09-26 08:38:49,393 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 33, 49, 339116), 33, 36]) securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 22-30 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 14-22 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 14-22 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 25-33 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 14-33 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Left range 14-33 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 33-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 33 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 33-36 by worker securityworker stdout | 2025-09-26 08:38:49,396 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 33-36 by worker securityworker stdout | 2025-09-26 08:38:49,396 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 33-36 securityworker stdout | 2025-09-26 08:38:49,396 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 14-33 securityworker stdout | 2025-09-26 08:38:49,396 [89] [DEBUG] [util.migrate.allocator] Already merged with block 14-33 securityworker stdout | 2025-09-26 08:38:49,396 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 14 securityworker stdout | 2025-09-26 08:38:49,396 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:38:49,396 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:38:49,396 [89] [DEBUG] [util.migrate.allocator] Total range: 1-14 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 33-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 14-33 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 14-33 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 14 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-14 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:38:49,396 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:38:49,396 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-14 securityworker stdout | 2025-09-26 08:38:49,396 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 6 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-14 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 6 securityworker stdout | 2025-09-26 08:38:49,397 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 33, 49, 339116), 3, 11]) securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 3-11 by worker securityworker stdout | 2025-09-26 08:38:49,400 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 3-11 by worker securityworker stdout | 2025-09-26 08:38:49,400 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 3-11 securityworker stdout | 2025-09-26 08:38:49,400 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 3-11 securityworker stdout | 2025-09-26 08:38:49,400 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:38:49,400 [89] [DEBUG] [util.migrate.allocator] Total range: 1-14 securityworker stdout | 2025-09-26 08:38:49,400 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:38:49,400 [89] [DEBUG] [util.migrate.allocator] Right range 3-11 securityworker stdout | 2025-09-26 08:38:49,400 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-3 securityworker stdout | 2025-09-26 08:38:49,400 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 3-11 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 3-11 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-14 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Right range 3-11 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-3 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:38:49,401 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 33, 49, 339116), 1, 9]) securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stdout | 2025-09-26 08:38:49,405 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stdout | 2025-09-26 08:38:49,405 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:38:49,405 [89] [DEBUG] [util.migrate.allocator] Merging with block 3-11 securityworker stdout | 2025-09-26 08:38:49,405 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 11 securityworker stdout | 2025-09-26 08:38:49,405 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:38:49,405 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:38:49,405 [89] [DEBUG] [util.migrate.allocator] Total range: 11-14 securityworker stdout | 2025-09-26 08:38:49,405 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 3-11 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 11 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 11-14 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 11-14 securityworker stdout | 2025-09-26 08:38:49,405 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 11-14 securityworker stdout | 2025-09-26 08:38:49,405 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 11 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 11 securityworker stdout | 2025-09-26 08:38:49,406 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 33, 49, 339116), 11, 19]) securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 11-19 by worker securityworker stdout | 2025-09-26 08:38:49,409 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 11-19 by worker securityworker stdout | 2025-09-26 08:38:49,409 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 11-19 securityworker stdout | 2025-09-26 08:38:49,409 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 11 securityworker stdout | 2025-09-26 08:38:49,409 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 19 securityworker stdout | 2025-09-26 08:38:49,409 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:38:49,409 [89] [DEBUG] [util.migrate.allocator] Total range: 19-11 securityworker stdout | 2025-09-26 08:38:49,409 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:38:49,409 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 11-19 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 11 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 19 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 19-11 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:38:49,409 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:38:49,409 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:38:49,409 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:38:49,410 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 33, 49, 339116), 20, 28]) securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 20-28 by worker securityworker stdout | 2025-09-26 08:38:49,413 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 20-28 by worker securityworker stdout | 2025-09-26 08:38:49,413 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 20-28 securityworker stdout | 2025-09-26 08:38:49,413 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 20-28 securityworker stdout | 2025-09-26 08:38:49,414 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:38:49,414 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:38:49,414 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:38:49,414 [89] [DEBUG] [util.migrate.allocator] Right range 20-28 securityworker stdout | 2025-09-26 08:38:49,414 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-20 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 20-28 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 20-28 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Right range 20-28 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-20 securityworker stdout | 2025-09-26 08:38:49,414 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 12 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 12 securityworker stdout | 2025-09-26 08:38:49,414 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 33, 49, 339116), 6, 14]) securityworker stdout | 2025-09-26 08:38:49,418 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 6-14 by worker securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 6-14 by worker securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 6-14 securityworker stdout | 2025-09-26 08:38:49,418 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 6-14 securityworker stdout | 2025-09-26 08:38:49,418 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 6-14 securityworker stdout | 2025-09-26 08:38:49,418 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stdout | 2025-09-26 08:38:49,418 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:38:49,418 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 3 total holes securityworker stdout | 2025-09-26 08:38:49,418 [89] [DEBUG] [util.migrate.allocator] Left range 6-14 securityworker stdout | 2025-09-26 08:38:49,418 [89] [DEBUG] [util.migrate.allocator] Right range 20-28 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 6-14 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 3 total holes securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Left range 6-14 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Right range 20-28 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 14-20 securityworker stdout | 2025-09-26 08:38:49,418 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 14-20 securityworker stdout | 2025-09-26 08:38:49,418 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 14 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 14 securityworker stdout | 2025-09-26 08:38:49,419 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 33, 49, 339116), 14, 22]) securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 14-22 by worker securityworker stdout | 2025-09-26 08:38:49,422 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 14-22 by worker securityworker stdout | 2025-09-26 08:38:49,422 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 14-22 securityworker stdout | 2025-09-26 08:38:49,422 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 6-14 securityworker stdout | 2025-09-26 08:38:49,422 [89] [DEBUG] [util.migrate.allocator] Already merged with block 6-14 securityworker stdout | 2025-09-26 08:38:49,422 [89] [DEBUG] [util.migrate.allocator] Merging with block 20-28 securityworker stdout | 2025-09-26 08:38:49,422 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stdout | 2025-09-26 08:38:49,422 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 6-28 securityworker stdout | 2025-09-26 08:38:49,422 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 14-22 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 6-14 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 6-14 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 20-28 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 6-28 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:38:49,422 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:38:49,422 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:38:49,422 [89] [DEBUG] [util.migrate.allocator] Left range 6-28 securityworker stdout | 2025-09-26 08:38:49,422 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 28-36 securityworker stdout | 2025-09-26 08:38:49,422 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Left range 6-28 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 28-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:38:49,423 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 33, 49, 339116), 28, 36]) securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 28-36 by worker securityworker stdout | 2025-09-26 08:38:49,426 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 28-36 by worker securityworker stdout | 2025-09-26 08:38:49,426 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 28-36 securityworker stdout | 2025-09-26 08:38:49,426 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 6-28 securityworker stdout | 2025-09-26 08:38:49,426 [89] [DEBUG] [util.migrate.allocator] Already merged with block 6-28 securityworker stdout | 2025-09-26 08:38:49,426 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 6 securityworker stdout | 2025-09-26 08:38:49,426 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:38:49,426 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:38:49,426 [89] [DEBUG] [util.migrate.allocator] Total range: 1-6 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 28-36 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 6-28 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 6-28 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 6 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-6 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:38:49,426 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:38:49,426 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-6 securityworker stdout | 2025-09-26 08:38:49,426 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-6 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:38:49,427 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 33, 49, 339116), 1, 9]) securityworker stdout | 2025-09-26 08:38:49,431 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:38:49,431 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:38:49,431 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:38:49,431 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 9 securityworker stdout | 2025-09-26 08:38:49,431 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:38:49,431 [89] [DEBUG] [util.migrate.allocator] Total range: 9-1 securityworker stdout | 2025-09-26 08:38:49,431 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:38:49,431 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 9 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] Total range: 9-1 securityworker stderr | 2025-09-26 08:38:49 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:38:49,431 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:19 GMT)" executed successfully gunicorn-secscan stdout | 2025-09-26 08:38:49,787 [228] [INFO] [gunicorn.access] - - [26/Sep/2025:08:38:49 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:38:49 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.002 961 0.002) logrotateworker stdout | 2025-09-26 08:38:50,360 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} exportactionlogsworker stdout | 2025-09-26 08:38:50,940 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:38:50,941 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:45.946993+00:00 (in 55.006013 seconds) exportactionlogsworker stdout | 2025-09-26 08:38:50,941 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:50 GMT)" (scheduled at 2025-09-26 08:38:50.940190+00:00) exportactionlogsworker stdout | 2025-09-26 08:38:50,941 [56] [DEBUG] [workers.queueworker] Getting work item from queue. exportactionlogsworker stdout | 2025-09-26 08:38:50,942 [56] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 38, 50, 941349), True, datetime.datetime(2025, 9, 26, 8, 38, 50, 941349), 0, 'exportactionlogs/%', 50, 1, 0]) exportactionlogsworker stdout | 2025-09-26 08:38:50,955 [56] [DEBUG] [workers.queueworker] No more work. exportactionlogsworker stdout | 2025-09-26 08:38:50,955 [56] [DEBUG] [data.database] Disconnecting from database. exportactionlogsworker stdout | 2025-09-26 08:38:50,955 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:50 GMT)" executed successfully gcworker stdout | 2025-09-26 08:38:51,445 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:38:51,446 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:04.439268+00:00 (in 12.993260 seconds) gcworker stdout | 2025-09-26 08:38:51,446 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:21 GMT)" (scheduled at 2025-09-26 08:38:51.444401+00:00) gcworker stdout | 2025-09-26 08:38:51,446 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:38:51,452 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'} gcworker stdout | 2025-09-26 08:38:51,459 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875631459, None, 1, 0]) gcworker stdout | 2025-09-26 08:38:51,463 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:38:51,463 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:21 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:38:52,158 [64] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestsubjectbackfillworker.py', 'pid': '64'} storagereplication stdout | 2025-09-26 08:38:53,191 [95] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'storagereplication.py', 'pid': '95'} proxycacheblobworker stdout | 2025-09-26 08:38:53,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:38:53,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:03.545186+00:00 (in 9.999207 seconds) proxycacheblobworker stdout | 2025-09-26 08:38:53,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:03 GMT)" (scheduled at 2025-09-26 08:38:53.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:38:53,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:38:53,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 38, 53, 546315), True, datetime.datetime(2025, 9, 26, 8, 38, 53, 546315), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:38:53,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:38:53,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:38:53,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:03 GMT)" executed successfully teamsyncworker stdout | 2025-09-26 08:38:53,730 [105] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'teamsyncworker.py', 'pid': '105'} servicekey stdout | 2025-09-26 08:38:53,751 [93] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'servicekeyworker.py', 'pid': '93'} blobuploadcleanupworker stdout | 2025-09-26 08:38:53,830 [50] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'blobuploadcleanupworker.py', 'pid': '50'} gcworker stdout | 2025-09-26 08:38:54,142 [57] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'gcworker.py', 'pid': '57'} queuecleanupworker stdout | 2025-09-26 08:38:54,253 [71] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'queuecleanupworker.py', 'pid': '71'} securityscanningnotificationworker stdout | 2025-09-26 08:38:54,558 [88] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityscanningnotificationworker.py', 'pid': '88'} chunkcleanupworker stdout | 2025-09-26 08:38:54,853 [53] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'chunkcleanupworker.py', 'pid': '53'} repositorygcworker stdout | 2025-09-26 08:38:55,569 [86] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositorygcworker.py', 'pid': '86'} gunicorn-secscan stdout | 2025-09-26 08:38:55,725 [227] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '227'} gunicorn-secscan stdout | 2025-09-26 08:38:55,732 [228] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '228'} gunicorn-secscan stdout | 2025-09-26 08:38:55,736 [60] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '60'} namespacegcworker stdout | 2025-09-26 08:38:55,960 [66] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'namespacegcworker.py', 'pid': '66'} notificationworker stdout | 2025-09-26 08:38:56,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:38:56,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:06.440077+00:00 (in 9.999513 seconds) notificationworker stdout | 2025-09-26 08:38:56,441 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:06 GMT)" (scheduled at 2025-09-26 08:38:56.440077+00:00) notificationworker stdout | 2025-09-26 08:38:56,441 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:38:56,442 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 38, 56, 441372), True, datetime.datetime(2025, 9, 26, 8, 38, 56, 441372), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:38:56,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:38:56,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:38:56,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:06 GMT)" executed successfully repositoryactioncounter stdout | 2025-09-26 08:38:56,452 [80] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositoryactioncounter.py', 'pid': '80'} expiredappspecifictokenworker stdout | 2025-09-26 08:38:56,550 [55] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'expiredappspecifictokenworker.py', 'pid': '55'} gunicorn-web stdout | 2025-09-26 08:38:56,603 [240] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '240'} gunicorn-web stdout | 2025-09-26 08:38:56,614 [239] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '239'} gunicorn-web stdout | 2025-09-26 08:38:56,691 [242] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '242'} gunicorn-web stdout | 2025-09-26 08:38:56,702 [241] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '241'} gunicorn-web stdout | 2025-09-26 08:38:56,707 [61] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '61'} builder stdout | 2025-09-26 08:38:56,860 [51] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'builder.py', 'pid': '51'} securityworker stdout | 2025-09-26 08:38:57,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:38:57,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:19.334273+00:00 (in 21.998349 seconds) securityworker stdout | 2025-09-26 08:38:57,336 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:27 GMT)" (scheduled at 2025-09-26 08:38:57.335452+00:00) securityworker stdout | 2025-09-26 08:38:57,336 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:38:57,336 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:38:57,338 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:38:57,341 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:38:57,353 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:38:57,353 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:38:57,353 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:38:57,353 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:38:57,354 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 36]) securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:38:57,358 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:38:57,358 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:38:57,358 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:38:57,358 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:38:57,358 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:38:57,358 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:38:57,359 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:38:57,359 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:38:57,359 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:38:57,359 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:38:57,359 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:38:57,360 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 33, 57, 341351), 1, 36]) securityworker stdout | 2025-09-26 08:38:57,364 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:38:57,364 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:38:57,364 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:38:57,364 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:38:57,364 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:38:57,364 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:38:57,364 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:38:57,364 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:38:57,364 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:38:57,364 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:38:57,364 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:38:57,366 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 33, 57, 341351), 1, 36]) securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:38:57,369 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:38:57,369 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:38:57,369 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:38:57,369 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:38:57,369 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:38:57,369 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:38:57,369 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:38:57,369 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:38:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:38:57,369 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:27 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:38:57,760 [68] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'notificationworker.py', 'pid': '68'} namespacegcworker stdout | 2025-09-26 08:38:58,836 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:38:58,836 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:12.840568+00:00 (in 14.004140 seconds) namespacegcworker stdout | 2025-09-26 08:38:58,836 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:58 GMT)" (scheduled at 2025-09-26 08:38:58.835976+00:00) namespacegcworker stdout | 2025-09-26 08:38:58,836 [66] [DEBUG] [workers.queueworker] Getting work item from queue. namespacegcworker stdout | 2025-09-26 08:38:58,837 [66] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 38, 58, 836793), True, datetime.datetime(2025, 9, 26, 8, 38, 58, 836793), 0, 'namespacegc/%', 50, 1, 0]) namespacegcworker stdout | 2025-09-26 08:38:58,850 [66] [DEBUG] [workers.queueworker] No more work. namespacegcworker stdout | 2025-09-26 08:38:58,850 [66] [DEBUG] [data.database] Disconnecting from database. namespacegcworker stdout | 2025-09-26 08:38:58,850 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:39:58 GMT)" executed successfully globalpromstats stdout | 2025-09-26 08:39:00,149 [58] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'globalpromstats.py', 'pid': '58'} gunicorn-web stdout | 2025-09-26 08:39:02,640 [242] [DEBUG] [app] Starting request: urn:request:4e21e1f9-53f0-48d3-aa6e-8233d289895a (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:39:02,641 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:39:02,643 [256] [DEBUG] [app] Starting request: urn:request:a8234129-a63c-497a-85ff-e2b5b15d3da2 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:39:02,643 [256] [DEBUG] [app] Ending request: urn:request:a8234129-a63c-497a-85ff-e2b5b15d3da2 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:a8234129-a63c-497a-85ff-e2b5b15d3da2', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:39:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-registry stdout | 2025-09-26 08:39:02,644 [256] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:39:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:39:02,644 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:39:02,645 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:39:02,647 [242] [DEBUG] [app] Starting request: urn:request:bb405155-9d3e-4dd9-8001-7294561720c9 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:39:02,648 [242] [DEBUG] [app] Ending request: urn:request:bb405155-9d3e-4dd9-8001-7294561720c9 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:bb405155-9d3e-4dd9-8001-7294561720c9', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:39:02,648 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:39:02 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:39:02 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:39:02,648 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:39:02,649 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:39:02,649 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:39:02,649 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:39:02,658 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:39:02,658 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:39:02,669 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:39:02,672 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:39:02,676 [242] [DEBUG] [app] Ending request: urn:request:4e21e1f9-53f0-48d3-aa6e-8233d289895a (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:4e21e1f9-53f0-48d3-aa6e-8233d289895a', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:39:02,676 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:39:02,677 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:39:02 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:39:02 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.039 118 0.039) gunicorn-web stdout | 2025-09-26 08:39:02,728 [242] [DEBUG] [app] Starting request: urn:request:1fd0adf2-7292-4d67-9aa1-2df313679ce7 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:39:02,730 [257] [DEBUG] [app] Starting request: urn:request:c393b090-f650-4be3-8cab-63bbfae8afa2 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:39:02,731 [257] [DEBUG] [app] Ending request: urn:request:c393b090-f650-4be3-8cab-63bbfae8afa2 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:c393b090-f650-4be3-8cab-63bbfae8afa2', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:39:02,731 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:39:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:39:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:39:02,731 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:39:02,733 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:39:02,734 [241] [DEBUG] [app] Starting request: urn:request:7cbefa6c-69fc-4379-9e07-8f01d9e4620a (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:39:02,735 [241] [DEBUG] [app] Ending request: urn:request:7cbefa6c-69fc-4379-9e07-8f01d9e4620a (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:7cbefa6c-69fc-4379-9e07-8f01d9e4620a', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:39:02,735 [241] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:39:02 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:39:02 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:39:02,735 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:39:02,736 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:39:02,736 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:39:02,736 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:39:02,745 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:39:02,745 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:39:02,756 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:39:02,760 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:39:02,763 [242] [DEBUG] [app] Ending request: urn:request:1fd0adf2-7292-4d67-9aa1-2df313679ce7 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:1fd0adf2-7292-4d67-9aa1-2df313679ce7', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:39:02,763 [242] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:39:02 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.038 118 0.038) gunicorn-web stdout | 2025-09-26 08:39:02,765 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:39:02 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" gunicorn-registry stdout | 2025-09-26 08:39:02,888 [257] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '257'} gunicorn-registry stdout | 2025-09-26 08:39:02,894 [252] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '252'} gunicorn-registry stdout | 2025-09-26 08:39:02,899 [59] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '59'} gunicorn-registry stdout | 2025-09-26 08:39:02,903 [254] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '254'} gunicorn-registry stdout | 2025-09-26 08:39:02,955 [253] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '253'} gunicorn-registry stdout | 2025-09-26 08:39:02,967 [255] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '255'} gunicorn-registry stdout | 2025-09-26 08:39:02,994 [256] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '256'} gunicorn-registry stdout | 2025-09-26 08:39:02,999 [251] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '251'} gunicorn-registry stdout | 2025-09-26 08:39:03,010 [250] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '250'} gunicorn-secscan stdout | 2025-09-26 08:39:03,524 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:39:03 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:39:03 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) proxycacheblobworker stdout | 2025-09-26 08:39:03,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:39:03,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:13.545186+00:00 (in 9.999507 seconds) proxycacheblobworker stdout | 2025-09-26 08:39:03,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:13 GMT)" (scheduled at 2025-09-26 08:39:03.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:39:03,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:39:03,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 39, 3, 546162), True, datetime.datetime(2025, 9, 26, 8, 39, 3, 546162), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:39:03,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:39:03,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:39:03,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:13 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:39:03,664 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} gcworker stdout | 2025-09-26 08:39:04,439 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:39:04,439 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:21.444401+00:00 (in 17.004522 seconds) gcworker stdout | 2025-09-26 08:39:04,448 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:34 GMT)" (scheduled at 2025-09-26 08:39:04.439268+00:00) gcworker stdout | 2025-09-26 08:39:04,448 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:39:04,448 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:34 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:39:04,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:39:04,735 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:34.734534+00:00 (in 29.999223 seconds) autopruneworker stdout | 2025-09-26 08:39:04,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:34 GMT)" (scheduled at 2025-09-26 08:39:04.734534+00:00) autopruneworker stdout | 2025-09-26 08:39:04,746 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758872344744, None, 1, 0]) autopruneworker stdout | 2025-09-26 08:39:04,752 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:39:04,752 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:39:04,752 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:34 GMT)" executed successfully gunicorn-secscan stdout | 2025-09-26 08:39:05,049 [228] [INFO] [gunicorn.access] - - [26/Sep/2025:08:39:05 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:39:05 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) notificationworker stdout | 2025-09-26 08:39:06,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:39:06,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:16.440077+00:00 (in 9.999553 seconds) notificationworker stdout | 2025-09-26 08:39:06,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:16 GMT)" (scheduled at 2025-09-26 08:39:06.440077+00:00) notificationworker stdout | 2025-09-26 08:39:06,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:39:06,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 39, 6, 440839), True, datetime.datetime(2025, 9, 26, 8, 39, 6, 440839), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:39:06,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:39:06,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:39:06,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:16 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:39:06,965 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} proxycacheblobworker stdout | 2025-09-26 08:39:09,266 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} buildlogsarchiver stdout | 2025-09-26 08:39:09,351 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:39:09,352 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:39.351551+00:00 (in 29.999520 seconds) buildlogsarchiver stdout | 2025-09-26 08:39:09,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:39 GMT)" (scheduled at 2025-09-26 08:39:09.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:39:09,352 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 39, 9, 352319), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:39:09,368 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:39:09,368 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:39:09,368 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:39 GMT)" executed successfully manifestbackfillworker stdout | 2025-09-26 08:39:10,357 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} namespacegcworker stdout | 2025-09-26 08:39:12,840 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:39:12,841 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:34.840898+00:00 (in 21.999878 seconds) namespacegcworker stdout | 2025-09-26 08:39:12,841 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:44:12 GMT)" (scheduled at 2025-09-26 08:39:12.840568+00:00) namespacegcworker stdout | 2025-09-26 08:39:12,841 [66] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [False, datetime.datetime(2025, 9, 26, 8, 39, 12, 841296), 'namespacegc/%']) namespacegcworker stdout | 2025-09-26 08:39:12,853 [66] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 39, 12, 841296), True, datetime.datetime(2025, 9, 26, 8, 39, 12, 841296), 0, 'namespacegc/%']) namespacegcworker stdout | 2025-09-26 08:39:12,858 [66] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) AND NOT ("t1"."queue_name" IN (SELECT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s)))))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 39, 12, 841296), True, datetime.datetime(2025, 9, 26, 8, 39, 12, 841296), 0, 'namespacegc/%', False, datetime.datetime(2025, 9, 26, 8, 39, 12, 841296), 'namespacegc/%']) namespacegcworker stdout | 2025-09-26 08:39:12,863 [66] [DEBUG] [data.database] Disconnecting from database. namespacegcworker stdout | 2025-09-26 08:39:12,863 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:44:12 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:39:13,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:39:13,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:13.548017+00:00 (in 0.002266 seconds) proxycacheblobworker stdout | 2025-09-26 08:39:13,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:23 GMT)" (scheduled at 2025-09-26 08:39:13.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:39:13,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:39:13,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 39, 13, 546082), True, datetime.datetime(2025, 9, 26, 8, 39, 13, 546082), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:39:13,548 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:39:13,548 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:23.545186+00:00 (in 9.996741 seconds) proxycacheblobworker stdout | 2025-09-26 08:39:13,548 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:13 GMT)" (scheduled at 2025-09-26 08:39:13.548017+00:00) proxycacheblobworker stdout | 2025-09-26 08:39:13,548 [69] [DEBUG] [workers.queueworker] Running watchdog. proxycacheblobworker stdout | 2025-09-26 08:39:13,548 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:13 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:39:13,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:39:13,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:39:13,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:23 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:39:13,758 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:39:13,758 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:13.760217+00:00 (in 0.001848 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:39:13,758 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:13 GMT)" (scheduled at 2025-09-26 08:39:13.757911+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:39:13,759 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."subject_backfilled" = %s) OR ("t1"."subject_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:39:13,760 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:39:13,760 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:13.757911+00:00 (in 59.997370 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:39:13,760 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:13 GMT)" (scheduled at 2025-09-26 08:39:13.760217+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:39:13,761 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."artifact_type_backfilled" = %s) OR ("t1"."artifact_type_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:39:13,771 [64] [DEBUG] [__main__] Manifest subject backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:39:13,771 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:39:13,774 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:13 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:39:13,779 [64] [DEBUG] [__main__] Manifest artifact_type backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:39:13,779 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:39:13,779 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:13 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:39:16,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:39:16,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:26.440077+00:00 (in 9.999544 seconds) notificationworker stdout | 2025-09-26 08:39:16,441 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:26 GMT)" (scheduled at 2025-09-26 08:39:16.440077+00:00) notificationworker stdout | 2025-09-26 08:39:16,441 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:39:16,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 39, 16, 441198), True, datetime.datetime(2025, 9, 26, 8, 39, 16, 441198), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:39:16,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:39:16,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:39:16,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:26 GMT)" executed successfully securityworker stdout | 2025-09-26 08:39:17,364 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} gunicorn-web stdout | 2025-09-26 08:39:17,639 [239] [DEBUG] [app] Starting request: urn:request:02ddc437-b8b3-4277-90a7-dc4c537434f9 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:39:17,640 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:39:17,642 [250] [DEBUG] [app] Starting request: urn:request:48cdf522-0ee9-4ea2-9853-c6567a0e7ebf (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:39:17,642 [250] [DEBUG] [app] Ending request: urn:request:48cdf522-0ee9-4ea2-9853-c6567a0e7ebf (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:48cdf522-0ee9-4ea2-9853-c6567a0e7ebf', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:39:17,643 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:39:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:39:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:39:17,643 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:39:17,644 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:39:17,646 [242] [DEBUG] [app] Starting request: urn:request:6e29c06e-5f10-4638-903c-9f09f949545d (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:39:17,646 [242] [DEBUG] [app] Ending request: urn:request:6e29c06e-5f10-4638-903c-9f09f949545d (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:6e29c06e-5f10-4638-903c-9f09f949545d', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:39:17,647 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:39:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:39:17,647 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:39:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.002) gunicorn-web stdout | 2025-09-26 08:39:17,647 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:39:17,647 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:39:17,647 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:39:17,656 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:39:17,656 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:39:17,667 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:39:17,671 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:39:17,674 [239] [DEBUG] [app] Ending request: urn:request:02ddc437-b8b3-4277-90a7-dc4c537434f9 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:02ddc437-b8b3-4277-90a7-dc4c537434f9', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:39:17,674 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:39:17,675 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:39:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:39:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.036 118 0.037) gunicorn-web stdout | 2025-09-26 08:39:17,728 [240] [DEBUG] [app] Starting request: urn:request:1194a301-2e1b-43b1-92f9-3a446b46eed7 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:39:17,729 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:39:17,731 [257] [DEBUG] [app] Starting request: urn:request:e7ad3a6f-e133-4e50-9909-caacc0097464 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:39:17,731 [257] [DEBUG] [app] Ending request: urn:request:e7ad3a6f-e133-4e50-9909-caacc0097464 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:e7ad3a6f-e133-4e50-9909-caacc0097464', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:39:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-registry stdout | 2025-09-26 08:39:17,731 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:39:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:39:17,732 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:39:17,732 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:39:17,734 [240] [DEBUG] [app] Starting request: urn:request:adb95ecc-fa7c-438f-9633-b978895bb018 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:39:17,734 [240] [DEBUG] [app] Ending request: urn:request:adb95ecc-fa7c-438f-9633-b978895bb018 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:adb95ecc-fa7c-438f-9633-b978895bb018', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:39:17,734 [240] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:39:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:39:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:39:17,734 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:39:17,735 [240] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:39:17,735 [240] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:39:17,735 [240] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:39:17,743 [240] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:39:17,743 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:39:17,754 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:39:17,757 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:39:17,760 [240] [DEBUG] [app] Ending request: urn:request:1194a301-2e1b-43b1-92f9-3a446b46eed7 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:1194a301-2e1b-43b1-92f9-3a446b46eed7', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:39:17,760 [240] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:39:17,761 [240] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:39:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:39:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.034 118 0.034) securityworker stdout | 2025-09-26 08:39:19,334 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:39:19,334 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:27.335452+00:00 (in 8.000714 seconds) securityworker stdout | 2025-09-26 08:39:19,334 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:49 GMT)" (scheduled at 2025-09-26 08:39:19.334273+00:00) securityworker stdout | 2025-09-26 08:39:19,335 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:39:19,335 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:39:19,337 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:39:19,339 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:39:19,351 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stdout | 2025-09-26 08:39:19,351 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:49 GMT)" executed successfully gunicorn-secscan stdout | 2025-09-26 08:39:20,132 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:39:20 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:39:20 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) logrotateworker stdout | 2025-09-26 08:39:20,382 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} gcworker stdout | 2025-09-26 08:39:21,444 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:39:21,444 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:34.439268+00:00 (in 12.994345 seconds) gcworker stdout | 2025-09-26 08:39:21,445 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:51 GMT)" (scheduled at 2025-09-26 08:39:21.444401+00:00) gcworker stdout | 2025-09-26 08:39:21,445 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) gcworker stdout | 2025-09-26 08:39:21,457 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875661457, None, 1, 0]) gcworker stdout | 2025-09-26 08:39:21,461 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:39:21,462 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:51 GMT)" executed successfully buildlogsarchiver stdout | 2025-09-26 08:39:21,469 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'} manifestsubjectbackfillworker stdout | 2025-09-26 08:39:22,174 [64] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestsubjectbackfillworker.py', 'pid': '64'} securityscanningnotificationworker stdout | 2025-09-26 08:39:22,245 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:39:22,245 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:42.242482+00:00 (in 19.996790 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:39:22,246 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:22 GMT)" (scheduled at 2025-09-26 08:39:22.245238+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:39:22,246 [88] [DEBUG] [workers.queueworker] Running watchdog. securityscanningnotificationworker stdout | 2025-09-26 08:39:22,246 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:22 GMT)" executed successfully gunicorn-secscan stdout | 2025-09-26 08:39:22,801 [228] [INFO] [gunicorn.access] - - [26/Sep/2025:08:39:22 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:39:22 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 959 0.002) repositorygcworker stdout | 2025-09-26 08:39:23,149 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:39:23,149 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:39.235682+00:00 (in 16.086083 seconds) repositorygcworker stdout | 2025-09-26 08:39:23,149 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:23 GMT)" (scheduled at 2025-09-26 08:39:23.149141+00:00) repositorygcworker stdout | 2025-09-26 08:39:23,150 [86] [DEBUG] [workers.queueworker] Getting work item from queue. repositorygcworker stdout | 2025-09-26 08:39:23,150 [86] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 39, 23, 150328), True, datetime.datetime(2025, 9, 26, 8, 39, 23, 150328), 0, 'repositorygc/%', 50, 1, 0]) repositorygcworker stdout | 2025-09-26 08:39:23,164 [86] [DEBUG] [workers.queueworker] No more work. repositorygcworker stdout | 2025-09-26 08:39:23,164 [86] [DEBUG] [data.database] Disconnecting from database. repositorygcworker stdout | 2025-09-26 08:39:23,164 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:23 GMT)" executed successfully storagereplication stdout | 2025-09-26 08:39:23,208 [95] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'storagereplication.py', 'pid': '95'} proxycacheblobworker stdout | 2025-09-26 08:39:23,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:39:23,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:33.545186+00:00 (in 9.999581 seconds) proxycacheblobworker stdout | 2025-09-26 08:39:23,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:33 GMT)" (scheduled at 2025-09-26 08:39:23.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:39:23,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:39:23,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 39, 23, 545946), True, datetime.datetime(2025, 9, 26, 8, 39, 23, 545946), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:39:23,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:39:23,559 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:39:23,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:33 GMT)" executed successfully teamsyncworker stdout | 2025-09-26 08:39:23,747 [105] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'teamsyncworker.py', 'pid': '105'} servicekey stdout | 2025-09-26 08:39:23,766 [93] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'servicekeyworker.py', 'pid': '93'} blobuploadcleanupworker stdout | 2025-09-26 08:39:23,847 [50] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'blobuploadcleanupworker.py', 'pid': '50'} gcworker stdout | 2025-09-26 08:39:24,158 [57] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'gcworker.py', 'pid': '57'} queuecleanupworker stdout | 2025-09-26 08:39:24,275 [71] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'queuecleanupworker.py', 'pid': '71'} securityscanningnotificationworker stdout | 2025-09-26 08:39:24,575 [88] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityscanningnotificationworker.py', 'pid': '88'} gunicorn-web stdout | 2025-09-26 08:39:24,647 [239] [DEBUG] [app] Starting request: urn:request:bc09f777-b47a-4874-90f4-99500ba0b64b (/superuser/) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:39:24,649 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:24,652 [239] [DEBUG] [app] Ending request: urn:request:bc09f777-b47a-4874-90f4-99500ba0b64b (/superuser/) {'endpoint': 'web.superuser', 'request_id': 'urn:request:bc09f777-b47a-4874-90f4-99500ba0b64b', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations', 'path': '/superuser/', 'parameters': {'tab': 'organizations'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:39:24,652 [239] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:39:24 +0000] "GET /superuser/?tab=organizations HTTP/1.0" 200 91952 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:39:24 +0000] "GET /superuser/?tab=organizations HTTP/1.1" 200 14100 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.006 2457 0.006) chunkcleanupworker stdout | 2025-09-26 08:39:24,871 [53] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'chunkcleanupworker.py', 'pid': '53'} gunicorn-web stdout | 2025-09-26 08:39:25,295 [239] [DEBUG] [app] Starting request: urn:request:c27c09f7-c91c-4a06-8c09-f0103873a9e6 (/api/v1/user/) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:39:25,295 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:25,295 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:25,296 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:25,308 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:39:25,309 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:39:25,309 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:25,309 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:25,309 [239] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:25,309 [239] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:25,309 [239] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:25,310 [239] [DEBUG] [peewee] ('SELECT DISTINCT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" INNER JOIN "team" AS "t2" ON ("t2"."organization_id" = "t1"."id") INNER JOIN "teammember" AS "t3" ON ("t3"."team_id" = "t2"."id") INNER JOIN "user" AS "t4" ON ("t4"."id" = "t3"."user_id") WHERE (("t1"."organization" = %s) AND ("t4"."username" = %s))', [True, 'quay']) gunicorn-web stdout | 2025-09-26 08:39:25,316 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:25,316 [239] [DEBUG] [peewee] ('SELECT "t1"."service_ident", "t2"."name", "t1"."metadata_json" FROM "federatedlogin" AS "t1" INNER JOIN "loginservice" AS "t2" ON ("t1"."service_id" = "t2"."id") WHERE (("t2"."name" != %s) AND ("t1"."user_id" = %s))', ['quayrobot', 1]) gunicorn-web stdout | 2025-09-26 08:39:25,321 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."user_id", "t1"."kind_id" FROM "userprompt" AS "t1" INNER JOIN "userpromptkind" AS "t2" ON ("t1"."kind_id" = "t2"."id") WHERE ("t1"."user_id" = %s)', [1]) gunicorn-web stdout | 2025-09-26 08:39:25,324 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['quay', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:25,328 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-web stdout | 2025-09-26 08:39:25,332 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quay', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:25,336 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-web stdout | 2025-09-26 08:39:25,340 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:25,344 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:25,344 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:25,346 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-web stdout | 2025-09-26 08:39:25,350 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:39:25,350 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:39:25,350 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:39:25,350 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:39:25,350 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:39:25,350 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:39:25,351 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:39:25,351 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:39:25,351 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg2', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:39:25,351 [239] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:39:25,351 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:25,351 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:25,351 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:25,351 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:25,351 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:25,351 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:25,351 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:25,352 [239] [DEBUG] [app] Ending request: urn:request:c27c09f7-c91c-4a06-8c09-f0103873a9e6 (/api/v1/user/) {'endpoint': 'api.user', 'request_id': 'urn:request:c27c09f7-c91c-4a06-8c09-f0103873a9e6', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/user/', 'path': '/api/v1/user/', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:39:25,352 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:39:25 +0000] "GET /api/v1/user/ HTTP/1.1" 200 1484 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.060 2391 0.059) gunicorn-web stdout | 2025-09-26 08:39:25,353 [239] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:39:25 +0000] "GET /api/v1/user/ HTTP/1.0" 200 1484 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" repositorygcworker stdout | 2025-09-26 08:39:25,587 [86] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositorygcworker.py', 'pid': '86'} gunicorn-web stdout | 2025-09-26 08:39:25,702 [242] [DEBUG] [app] Starting request: urn:request:80cc1d9c-3a71-4f85-b436-46cc41d0b4a1 (/api/v1/messages) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:39:25,703 [242] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:25,703 [242] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:25,703 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:25,716 [242] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:39:25,716 [242] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:39:25,717 [242] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:25,717 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."content", "t1"."uuid", "t1"."severity", "t1"."media_type_id", "t2"."id", "t2"."name" FROM "messages" AS "t1" INNER JOIN "mediatype" AS "t2" ON ("t1"."media_type_id" = "t2"."id")', []) gunicorn-web stdout | 2025-09-26 08:39:25,722 [242] [DEBUG] [app] Ending request: urn:request:80cc1d9c-3a71-4f85-b436-46cc41d0b4a1 (/api/v1/messages) {'endpoint': 'api.globalusermessages', 'request_id': 'urn:request:80cc1d9c-3a71-4f85-b436-46cc41d0b4a1', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/messages', 'path': '/api/v1/messages', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:39:25,723 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:39:25,723 [242] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:39:25 +0000] "GET /api/v1/messages HTTP/1.0" 200 17 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:39:25 +0000] "GET /api/v1/messages HTTP/1.1" 200 17 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.022 2394 0.022) gunicorn-secscan stdout | 2025-09-26 08:39:25,744 [227] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '227'} gunicorn-secscan stdout | 2025-09-26 08:39:25,750 [228] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '228'} gunicorn-secscan stdout | 2025-09-26 08:39:25,755 [60] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '60'} namespacegcworker stdout | 2025-09-26 08:39:25,978 [66] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'namespacegcworker.py', 'pid': '66'} gunicorn-secscan stdout | 2025-09-26 08:39:25,998 [228] [INFO] [gunicorn.access] - - [26/Sep/2025:08:39:25 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:39:25 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) gunicorn-web stdout | 2025-09-26 08:39:26,074 [242] [DEBUG] [app] Starting request: urn:request:fa3f5f59-a016-4cea-bfbe-7f934eec5c64 (/api/v1/superuser/registrysize/) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:39:26,074 [242] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,074 [242] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,075 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:26,087 [242] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:39:26,088 [242] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:39:26,088 [242] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,088 [242] [DEBUG] [endpoints.api] Checking fresh login for user quay: Last login at 2025-09-26 08:37:21+00:00 gunicorn-web stdout | 2025-09-26 08:39:26,088 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,088 [242] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:26,088 [242] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:26,088 [242] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:26,088 [242] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:39:26,088 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."size_bytes", "t1"."running", "t1"."queued", "t1"."completed_ms" FROM "quotaregistrysize" AS "t1" LIMIT %s OFFSET %s', [1, 0]) gunicorn-web stdout | 2025-09-26 08:39:26,092 [242] [DEBUG] [app] Ending request: urn:request:fa3f5f59-a016-4cea-bfbe-7f934eec5c64 (/api/v1/superuser/registrysize/) {'endpoint': 'api.superuserregistrysize', 'request_id': 'urn:request:fa3f5f59-a016-4cea-bfbe-7f934eec5c64', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/registrysize/', 'path': '/api/v1/superuser/registrysize/', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:39:26,093 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:39:26,093 [242] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:39:26 +0000] "GET /api/v1/superuser/registrysize/ HTTP/1.0" 200 70 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:39:26 +0000] "GET /api/v1/superuser/registrysize/ HTTP/1.1" 200 70 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.021 2409 0.021) gunicorn-web stdout | 2025-09-26 08:39:26,439 [239] [DEBUG] [app] Starting request: urn:request:bd4a9d95-a8ee-4b97-aa97-1faa9f5ab5f4 (/api/v1/superuser/registrystatus) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:39:26,439 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,439 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,440 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) notificationworker stdout | 2025-09-26 08:39:26,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:39:26,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:34.441526+00:00 (in 8.000999 seconds) notificationworker stdout | 2025-09-26 08:39:26,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:36 GMT)" (scheduled at 2025-09-26 08:39:26.440077+00:00) notificationworker stdout | 2025-09-26 08:39:26,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:39:26,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 39, 26, 440957), True, datetime.datetime(2025, 9, 26, 8, 39, 26, 440957), 0, 'notification/%', 50, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:26,452 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:39:26,452 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:39:26,452 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,453 [239] [DEBUG] [app] Ending request: urn:request:bd4a9d95-a8ee-4b97-aa97-1faa9f5ab5f4 (/api/v1/superuser/registrystatus) {'endpoint': 'api.superuserregistrystatus', 'request_id': 'urn:request:bd4a9d95-a8ee-4b97-aa97-1faa9f5ab5f4', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/registrystatus', 'path': '/api/v1/superuser/registrystatus', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:39:26,453 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:39:26 +0000] "GET /api/v1/superuser/registrystatus HTTP/1.1" 200 42 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.017 2410 0.016) gunicorn-web stdout | 2025-09-26 08:39:26,454 [239] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:39:26 +0000] "GET /api/v1/superuser/registrystatus HTTP/1.0" 200 42 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" notificationworker stdout | 2025-09-26 08:39:26,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:39:26,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:39:26,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:36 GMT)" executed successfully repositoryactioncounter stdout | 2025-09-26 08:39:26,473 [80] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositoryactioncounter.py', 'pid': '80'} expiredappspecifictokenworker stdout | 2025-09-26 08:39:26,575 [55] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'expiredappspecifictokenworker.py', 'pid': '55'} gunicorn-web stdout | 2025-09-26 08:39:26,623 [240] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '240'} gunicorn-web stdout | 2025-09-26 08:39:26,639 [239] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '239'} gunicorn-web stdout | 2025-09-26 08:39:26,715 [242] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '242'} gunicorn-web stdout | 2025-09-26 08:39:26,720 [241] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '241'} gunicorn-web stdout | 2025-09-26 08:39:26,725 [61] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '61'} gunicorn-web stdout | 2025-09-26 08:39:26,804 [239] [DEBUG] [app] Starting request: urn:request:efd623e9-e093-4dc8-8d6c-dbdf865c3d06 (/api/v1/superuser/organizations/) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:39:26,805 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,805 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,805 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:26,819 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:39:26,819 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:39:26,819 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,819 [239] [DEBUG] [endpoints.api] Checking fresh login for user quay: Last login at 2025-09-26 08:37:21+00:00 gunicorn-web stdout | 2025-09-26 08:39:26,819 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,819 [239] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:26,819 [239] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:26,819 [239] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:26,819 [239] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:39:26,821 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ((("t1"."organization" = %s) AND ("t1"."robot" = %s)) AND ("t1"."id" NOT IN (SELECT "t2"."namespace_id" FROM "deletednamespace" AS "t2"))) ORDER BY "t1"."id" LIMIT %s', [True, False, 51]) gunicorn-web stdout | 2025-09-26 08:39:26,825 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-web stdout | 2025-09-26 08:39:26,829 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-web stdout | 2025-09-26 08:39:26,832 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-web stdout | 2025-09-26 08:39:26,836 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:26,840 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-web stdout | 2025-09-26 08:39:26,843 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:39:26 +0000] "GET /static/img/quay_favicon.png HTTP/1.1" 200 3558 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2326 -) gunicorn-web stdout | 2025-09-26 08:39:26,847 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:26,850 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-web stdout | 2025-09-26 08:39:26,854 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:26,858 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:26,861 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-web stdout | 2025-09-26 08:39:26,864 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:26,868 [239] [DEBUG] [app] Ending request: urn:request:efd623e9-e093-4dc8-8d6c-dbdf865c3d06 (/api/v1/superuser/organizations/) {'endpoint': 'api.superuserorganizationlist', 'request_id': 'urn:request:efd623e9-e093-4dc8-8d6c-dbdf865c3d06', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/organizations/?limit=50', 'path': '/api/v1/superuser/organizations/', 'parameters': {'limit': '50'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:39:26,869 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:39:26 +0000] "GET /api/v1/superuser/organizations/?limit=50 HTTP/1.1" 200 1047 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.066 2419 0.066) gunicorn-web stdout | 2025-09-26 08:39:26,869 [239] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:39:26 +0000] "GET /api/v1/superuser/organizations/?limit=50 HTTP/1.0" 200 1047 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:39:26,875 [239] [DEBUG] [app] Starting request: urn:request:bddf596e-aaa1-49ad-a05e-096c3a608c35 (/api/v1/user/notifications) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:39:26,875 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,875 [241] [DEBUG] [app] Starting request: urn:request:b3ed2651-b6f0-4d23-ba8e-0b72a96527f5 (/api/v1/user/apptoken) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:39:26,875 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,875 [241] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,875 [241] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,875 [242] [DEBUG] [app] Starting request: urn:request:d09a5385-1686-4360-a75a-2349dc9d0f3f (/api/v1/superuser/users/) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:39:26,876 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:26,876 [242] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,876 [242] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,876 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:26,877 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) builder stdout | 2025-09-26 08:39:26,879 [51] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'builder.py', 'pid': '51'} gunicorn-web stdout | 2025-09-26 08:39:26,888 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:39:26,889 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:39:26,889 [242] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:39:26,889 [241] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:39:26,889 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,889 [241] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:39:26,889 [242] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:39:26,889 [241] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,889 [239] [DEBUG] [endpoints.api] Checking permission for user quay gunicorn-web stdout | 2025-09-26 08:39:26,889 [242] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,889 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,889 [239] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:26,889 [239] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:26,889 [239] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:26,889 [241] [DEBUG] [endpoints.api] Checking permission for user quay gunicorn-web stdout | 2025-09-26 08:39:26,889 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,889 [241] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:26,889 [241] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:26,889 [242] [DEBUG] [endpoints.api] Checking fresh login for user quay: Last login at 2025-09-26 08:37:21+00:00 gunicorn-web stdout | 2025-09-26 08:39:26,889 [241] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:26,890 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:26,890 [242] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:26,890 [242] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:26,890 [242] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:26,890 [242] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:39:26,890 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."user_id", "t1"."uuid", "t1"."title", "t1"."token_name", "t1"."token_secret", "t1"."created", "t1"."expiration", "t1"."last_accessed" FROM "appspecificauthtoken" AS "t1" WHERE ((("t1"."user_id" = %s) AND ("t1"."expiration" <= %s)) AND ("t1"."expiration" > %s))', [1, datetime.datetime(2025, 9, 29, 3, 51, 26, 889951), datetime.datetime(2025, 9, 26, 8, 39, 26, 890015)]) gunicorn-web stdout | 2025-09-26 08:39:26,890 [239] [DEBUG] [peewee] ('(SELECT "t1"."id", "t1"."uuid", "t1"."kind_id", "t1"."metadata_json", "t1"."dismissed", "t1"."lookup_path", "t1"."created", "t1"."created" AS "cd", "t1"."target_id" FROM "notification" AS "t1" INNER JOIN "notificationkind" AS "t2" ON ("t1"."kind_id" = "t2"."id") WHERE (("t1"."dismissed" = %s) AND ("t1"."target_id" = %s))) UNION (SELECT "t3"."id", "t3"."uuid", "t3"."kind_id", "t3"."metadata_json", "t3"."dismissed", "t3"."lookup_path", "t3"."created", "t3"."created" AS "cd", "t3"."target_id" FROM "notification" AS "t3" INNER JOIN "notificationkind" AS "t4" ON ("t3"."kind_id" = "t4"."id") INNER JOIN "user" AS "t5" ON ("t5"."id" = "t3"."target_id") INNER JOIN "team" AS "t6" ON ("t5"."id" = "t6"."organization_id") INNER JOIN "teamrole" AS "t7" ON ("t6"."role_id" = "t7"."id") INNER JOIN "teammember" AS "t8" ON ("t6"."id" = "t8"."team_id") INNER JOIN "user" AS "t9" ON ("t8"."user_id" = "t9"."id") WHERE (("t3"."dismissed" = %s) AND (("t9"."id" = %s) AND ("t7"."name" = %s)))) ORDER BY cd desc LIMIT %s', [False, 1, False, 1, 'admin', 6]) gunicorn-web stdout | 2025-09-26 08:39:26,891 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ((("t1"."organization" = %s) AND ("t1"."robot" = %s)) AND ("t1"."id" NOT IN (SELECT "t2"."namespace_id" FROM "deletednamespace" AS "t2"))) ORDER BY "t1"."id" LIMIT %s', [False, False, 51]) gunicorn-web stdout | 2025-09-26 08:39:26,894 [241] [DEBUG] [app] Ending request: urn:request:b3ed2651-b6f0-4d23-ba8e-0b72a96527f5 (/api/v1/user/apptoken) {'endpoint': 'api.apptokens', 'request_id': 'urn:request:b3ed2651-b6f0-4d23-ba8e-0b72a96527f5', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/user/apptoken?expiring=true', 'path': '/api/v1/user/apptoken', 'parameters': {'expiring': 'true'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:39:26,894 [241] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:39:26,895 [241] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:39:26 +0000] "GET /api/v1/user/apptoken?expiring=true HTTP/1.0" 200 38 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:39:26 +0000] "GET /api/v1/user/apptoken?expiring=true HTTP/1.1" 200 38 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.021 2413 0.021) gunicorn-web stdout | 2025-09-26 08:39:26,896 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-web stdout | 2025-09-26 08:39:26,897 [239] [DEBUG] [app] Ending request: urn:request:bddf596e-aaa1-49ad-a05e-096c3a608c35 (/api/v1/user/notifications) {'endpoint': 'api.usernotificationlist', 'request_id': 'urn:request:bddf596e-aaa1-49ad-a05e-096c3a608c35', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/user/notifications', 'path': '/api/v1/user/notifications', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:39:26,898 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:39:26 +0000] "GET /api/v1/user/notifications HTTP/1.1" 200 43 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.024 2404 0.024) gunicorn-web stdout | 2025-09-26 08:39:26,898 [239] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:39:26 +0000] "GET /api/v1/user/notifications HTTP/1.0" 200 43 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:39:26,899 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quay', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:26,903 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-web stdout | 2025-09-26 08:39:26,906 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:26,909 [242] [DEBUG] [app] Ending request: urn:request:d09a5385-1686-4360-a75a-2349dc9d0f3f (/api/v1/superuser/users/) {'endpoint': 'api.superuserlist', 'request_id': 'urn:request:d09a5385-1686-4360-a75a-2349dc9d0f3f', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/users/?limit=50', 'path': '/api/v1/superuser/users/', 'parameters': {'limit': '50'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:39:26,910 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:39:26,911 [242] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:39:26 +0000] "GET /api/v1/superuser/users/?limit=50 HTTP/1.0" 200 424 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:39:26 +0000] "GET /api/v1/superuser/users/?limit=50 HTTP/1.1" 200 424 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.036 2411 0.037) gunicorn-web stdout | 2025-09-26 08:39:27,230 [239] [DEBUG] [app] Starting request: urn:request:b93a85db-9b1c-4317-863b-a1a16b6a69e7 (/api/v1/organization/testorg2/quota) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:39:27,230 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:27,230 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:27,231 [241] [DEBUG] [app] Starting request: urn:request:66bf502e-a29d-4f2a-a5c7-605f2008048d (/api/v1/organization/testorg/quota) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:39:27,231 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:27,231 [241] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:27,231 [242] [DEBUG] [app] Starting request: urn:request:ea5830b2-61bd-4432-af4d-d7390884d713 (/api/v1/organization/quayorg/quota) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:39:27,231 [241] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:27,231 [242] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:27,231 [242] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:27,232 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:27,232 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:27,243 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:39:27,243 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:39:27,243 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:27,244 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:27,244 [239] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,244 [239] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,244 [239] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,244 [242] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:39:27,244 [242] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:39:27,244 [242] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:27,244 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:27,244 [242] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,244 [242] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,244 [242] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,244 [241] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:39:27,245 [241] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:39:27,245 [241] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:27,245 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:27,245 [241] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,245 [241] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,245 [241] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,245 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-web stdout | 2025-09-26 08:39:27,247 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-web stdout | 2025-09-26 08:39:27,247 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-web stdout | 2025-09-26 08:39:27,250 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,250 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,250 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,251 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,251 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,251 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,251 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,251 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,251 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg2', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,251 [239] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:39:27,252 [241] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,252 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."organization" = %s) AND ("t1"."username" = %s)) LIMIT %s OFFSET %s', [True, 'testorg2', 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:27,252 [241] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,252 [241] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,252 [241] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,252 [241] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,252 [241] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,252 [242] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,252 [242] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,252 [242] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,252 [241] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,252 [241] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,252 [241] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg2', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,252 [241] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:39:27,253 [242] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,253 [242] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,253 [242] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,253 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."organization" = %s) AND ("t1"."username" = %s)) LIMIT %s OFFSET %s', [True, 'testorg', 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:27,253 [242] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,253 [242] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,253 [242] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg2', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,253 [242] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:39:27,254 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."organization" = %s) AND ("t1"."username" = %s)) LIMIT %s OFFSET %s', [True, 'quayorg', 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:27,255 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-web stdout | 2025-09-26 08:39:27,256 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-web stdout | 2025-09-26 08:39:27,258 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-web stdout | 2025-09-26 08:39:27,259 [239] [DEBUG] [app] Ending request: urn:request:b93a85db-9b1c-4317-863b-a1a16b6a69e7 (/api/v1/organization/testorg2/quota) {'endpoint': 'api.organizationquotalist', 'request_id': 'urn:request:b93a85db-9b1c-4317-863b-a1a16b6a69e7', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/organization/testorg2/quota', 'path': '/api/v1/organization/testorg2/quota', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:39:27,259 [240] [DEBUG] [app] Starting request: urn:request:ff161cd1-360e-483e-b50a-f4bd8b41ace9 (/api/v1/superuser/users/quay/quota) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:39:27,259 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:39:27,259 [240] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:27,260 [240] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:39:27 +0000] "GET /api/v1/organization/testorg2/quota HTTP/1.1" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.031 2413 0.031) gunicorn-web stdout | 2025-09-26 08:39:27,260 [239] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:39:27 +0000] "GET /api/v1/organization/testorg2/quota HTTP/1.0" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:39:27,260 [241] [DEBUG] [app] Ending request: urn:request:66bf502e-a29d-4f2a-a5c7-605f2008048d (/api/v1/organization/testorg/quota) {'endpoint': 'api.organizationquotalist', 'request_id': 'urn:request:66bf502e-a29d-4f2a-a5c7-605f2008048d', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/organization/testorg/quota', 'path': '/api/v1/organization/testorg/quota', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:39:27,260 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:27,261 [241] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:39:27,261 [242] [DEBUG] [app] Ending request: urn:request:ea5830b2-61bd-4432-af4d-d7390884d713 (/api/v1/organization/quayorg/quota) {'endpoint': 'api.organizationquotalist', 'request_id': 'urn:request:ea5830b2-61bd-4432-af4d-d7390884d713', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/organization/quayorg/quota', 'path': '/api/v1/organization/quayorg/quota', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:39:27 +0000] "GET /api/v1/organization/testorg/quota HTTP/1.1" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.031 2412 0.031) gunicorn-web stdout | 2025-09-26 08:39:27,261 [241] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:39:27 +0000] "GET /api/v1/organization/testorg/quota HTTP/1.0" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:39:27,262 [242] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:39:27 +0000] "GET /api/v1/organization/quayorg/quota HTTP/1.1" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.032 2412 0.032) gunicorn-web stdout | 2025-09-26 08:39:27,262 [242] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:39:27 +0000] "GET /api/v1/organization/quayorg/quota HTTP/1.0" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:39:27,272 [240] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:39:27,272 [240] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:39:27,272 [240] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:27,272 [240] [DEBUG] [endpoints.api] Checking fresh login for user quay: Last login at 2025-09-26 08:37:21+00:00 gunicorn-web stdout | 2025-09-26 08:39:27,272 [240] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:39:27,272 [240] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,272 [240] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,272 [240] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:39:27,273 [240] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:39:27,273 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quay', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:39:27,277 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-web stdout | 2025-09-26 08:39:27,281 [240] [DEBUG] [app] Ending request: urn:request:ff161cd1-360e-483e-b50a-f4bd8b41ace9 (/api/v1/superuser/users/quay/quota) {'endpoint': 'api.superuseruserquotalist', 'request_id': 'urn:request:ff161cd1-360e-483e-b50a-f4bd8b41ace9', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/users/quay/quota', 'path': '/api/v1/superuser/users/quay/quota', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:39:27,282 [240] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:39:27 +0000] "GET /api/v1/superuser/users/quay/quota HTTP/1.1" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.024 2412 0.024) gunicorn-web stdout | 2025-09-26 08:39:27,282 [240] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:39:27 +0000] "GET /api/v1/superuser/users/quay/quota HTTP/1.0" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" securityworker stdout | 2025-09-26 08:39:27,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:39:27,336 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:49.334273+00:00 (in 21.998269 seconds) securityworker stdout | 2025-09-26 08:39:27,336 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:57 GMT)" (scheduled at 2025-09-26 08:39:27.335452+00:00) securityworker stdout | 2025-09-26 08:39:27,336 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:39:27,336 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:39:27,340 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:39:27,342 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:39:27,354 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:39:27,354 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:39:27,354 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:39:27,354 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:39:27,355 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 36]) securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:39:27,359 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:39:27,359 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:39:27,359 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:39:27,359 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:39:27,359 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:39:27,359 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:39:27,359 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:39:27,359 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:39:27,360 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:39:27,360 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:39:27,360 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:39:27,360 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 34, 27, 342703), 1, 36]) securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:39:27,363 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:39:27,364 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:39:27,364 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:39:27,364 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:39:27,364 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:39:27,364 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:39:27,364 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:39:27,364 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:39:27,364 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:39:27,364 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:39:27,364 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:39:27,365 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 34, 27, 342703), 1, 36]) securityworker stdout | 2025-09-26 08:39:27,369 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:39:27,369 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:39:27,369 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:39:27,369 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:39:27,369 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:39:27,369 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:39:27,369 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:39:27,369 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:39:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:39:27,369 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:39:57 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:39:27,777 [68] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'notificationworker.py', 'pid': '68'} globalpromstats stdout | 2025-09-26 08:39:30,165 [58] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'globalpromstats.py', 'pid': '58'} gunicorn-web stdout | 2025-09-26 08:39:32,639 [242] [DEBUG] [app] Starting request: urn:request:acce2305-a0a2-4ce9-820c-207a0618b91a (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:39:32,640 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:39:32,642 [256] [DEBUG] [app] Starting request: urn:request:dcf55304-4809-4512-836a-a12d83f9c582 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:39:32,643 [256] [DEBUG] [app] Ending request: urn:request:dcf55304-4809-4512-836a-a12d83f9c582 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:dcf55304-4809-4512-836a-a12d83f9c582', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:39:32,643 [256] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:39:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:39:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-web stdout | 2025-09-26 08:39:32,643 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:39:32,644 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:39:32,646 [239] [DEBUG] [app] Starting request: urn:request:dc239ca3-3b1c-4ef0-8e30-96a524e4a8cb (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:39:32,646 [239] [DEBUG] [app] Ending request: urn:request:dc239ca3-3b1c-4ef0-8e30-96a524e4a8cb (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:dc239ca3-3b1c-4ef0-8e30-96a524e4a8cb', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:39:32,647 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:39:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:39:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:39:32,647 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:39:32,647 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:39:32,647 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:39:32,647 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:39:32,656 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:39:32,656 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:39:32,667 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:39:32,671 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:39:32,675 [242] [DEBUG] [app] Ending request: urn:request:acce2305-a0a2-4ce9-820c-207a0618b91a (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:acce2305-a0a2-4ce9-820c-207a0618b91a', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:39:32,676 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:39:32,676 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:39:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:39:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.038 118 0.038) gunicorn-web stdout | 2025-09-26 08:39:32,728 [242] [DEBUG] [app] Starting request: urn:request:4dffc3a3-6fb0-402b-9814-032dd678e5ca (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:39:32,730 [257] [DEBUG] [app] Starting request: urn:request:138dfbe2-d400-460b-b81e-d1c838670579 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:39:32,730 [257] [DEBUG] [app] Ending request: urn:request:138dfbe2-d400-460b-b81e-d1c838670579 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:138dfbe2-d400-460b-b81e-d1c838670579', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:39:32,731 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:39:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:39:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.002) gunicorn-web stdout | 2025-09-26 08:39:32,731 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:39:32,732 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:39:32,733 [242] [DEBUG] [app] Starting request: urn:request:045ce828-a0f9-4f19-bdc7-3eec1c46c5f8 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:39:32,736 [242] [DEBUG] [app] Ending request: urn:request:045ce828-a0f9-4f19-bdc7-3eec1c46c5f8 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:045ce828-a0f9-4f19-bdc7-3eec1c46c5f8', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:39:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.004 159 0.004) gunicorn-web stdout | 2025-09-26 08:39:32,737 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:39:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:39:32,737 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:39:32,737 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:39:32,738 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:39:32,738 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:39:32,746 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:39:32,746 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:39:32,756 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:39:32,759 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:39:32,763 [242] [DEBUG] [app] Ending request: urn:request:4dffc3a3-6fb0-402b-9814-032dd678e5ca (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:4dffc3a3-6fb0-402b-9814-032dd678e5ca', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:39:32,763 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:39:32,763 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:39:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:39:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.036 118 0.036) gunicorn-registry stdout | 2025-09-26 08:39:32,910 [257] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '257'} gunicorn-registry stdout | 2025-09-26 08:39:32,921 [252] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '252'} gunicorn-registry stdout | 2025-09-26 08:39:32,926 [59] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '59'} gunicorn-registry stdout | 2025-09-26 08:39:32,930 [254] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '254'} gunicorn-registry stdout | 2025-09-26 08:39:32,974 [253] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '253'} gunicorn-registry stdout | 2025-09-26 08:39:32,987 [255] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '255'} gunicorn-registry stdout | 2025-09-26 08:39:33,015 [256] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '256'} gunicorn-registry stdout | 2025-09-26 08:39:33,022 [251] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '251'} gunicorn-registry stdout | 2025-09-26 08:39:33,033 [250] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '250'} proxycacheblobworker stdout | 2025-09-26 08:39:33,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:39:33,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:43.545186+00:00 (in 9.999540 seconds) proxycacheblobworker stdout | 2025-09-26 08:39:33,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:43 GMT)" (scheduled at 2025-09-26 08:39:33.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:39:33,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:39:33,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 39, 33, 546075), True, datetime.datetime(2025, 9, 26, 8, 39, 33, 546075), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:39:33,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:39:33,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:39:33,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:43 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:39:33,680 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} gcworker stdout | 2025-09-26 08:39:34,439 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:39:34,439 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:51.444401+00:00 (in 17.004581 seconds) gcworker stdout | 2025-09-26 08:39:34,440 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:04 GMT)" (scheduled at 2025-09-26 08:39:34.439268+00:00) gcworker stdout | 2025-09-26 08:39:34,440 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:39:34,440 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:04 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:39:34,441 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:39:34,442 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:36.440077+00:00 (in 1.997986 seconds) notificationworker stdout | 2025-09-26 08:39:34,442 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:34 GMT)" (scheduled at 2025-09-26 08:39:34.441526+00:00) notificationworker stdout | 2025-09-26 08:39:34,442 [68] [DEBUG] [workers.queueworker] Running watchdog. notificationworker stdout | 2025-09-26 08:39:34,442 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:34 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:39:34,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:39:34,735 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:04.734534+00:00 (in 29.999440 seconds) autopruneworker stdout | 2025-09-26 08:39:34,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:04 GMT)" (scheduled at 2025-09-26 08:39:34.734534+00:00) autopruneworker stdout | 2025-09-26 08:39:34,744 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758872374743, None, 1, 0]) autopruneworker stdout | 2025-09-26 08:39:34,749 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:39:34,749 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:39:34,749 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:04 GMT)" executed successfully namespacegcworker stdout | 2025-09-26 08:39:34,841 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:39:34,841 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:58.835976+00:00 (in 23.994645 seconds) namespacegcworker stdout | 2025-09-26 08:39:34,841 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:34 GMT)" (scheduled at 2025-09-26 08:39:34.840898+00:00) namespacegcworker stdout | 2025-09-26 08:39:34,841 [66] [DEBUG] [workers.queueworker] Running watchdog. namespacegcworker stdout | 2025-09-26 08:39:34,841 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:34 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:39:36,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:39:36,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:46.440077+00:00 (in 9.999528 seconds) notificationworker stdout | 2025-09-26 08:39:36,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:46 GMT)" (scheduled at 2025-09-26 08:39:36.440077+00:00) notificationworker stdout | 2025-09-26 08:39:36,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:39:36,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 39, 36, 440934), True, datetime.datetime(2025, 9, 26, 8, 39, 36, 440934), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:39:36,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:39:36,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:39:36,456 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:46 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:39:36,980 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} repositorygcworker stdout | 2025-09-26 08:39:39,235 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:39:39,236 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:23.149141+00:00 (in 43.912256 seconds) repositorygcworker stdout | 2025-09-26 08:39:39,237 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:39 GMT)" (scheduled at 2025-09-26 08:39:39.235682+00:00) repositorygcworker stdout | 2025-09-26 08:39:39,237 [86] [DEBUG] [workers.queueworker] Running watchdog. repositorygcworker stdout | 2025-09-26 08:39:39,237 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:39 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:39:39,282 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} buildlogsarchiver stdout | 2025-09-26 08:39:39,352 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:39:39,352 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:09.351551+00:00 (in 29.998860 seconds) buildlogsarchiver stdout | 2025-09-26 08:39:39,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:09 GMT)" (scheduled at 2025-09-26 08:39:39.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:39:39,353 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 39, 39, 353010), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:39:39,367 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:39:39,367 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:39:39,367 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:09 GMT)" executed successfully manifestbackfillworker stdout | 2025-09-26 08:39:40,374 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} securityscanningnotificationworker stdout | 2025-09-26 08:39:42,242 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:39:42,242 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:22.245238+00:00 (in 40.002297 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:39:42,243 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:42 GMT)" (scheduled at 2025-09-26 08:39:42.242482+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:39:42,243 [88] [DEBUG] [workers.queueworker] Getting work item from queue. securityscanningnotificationworker stdout | 2025-09-26 08:39:42,244 [88] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 39, 42, 243261), True, datetime.datetime(2025, 9, 26, 8, 39, 42, 243261), 0, 'secscanv4/%', 50, 1, 0]) securityscanningnotificationworker stdout | 2025-09-26 08:39:42,258 [88] [DEBUG] [workers.queueworker] No more work. securityscanningnotificationworker stdout | 2025-09-26 08:39:42,258 [88] [DEBUG] [data.database] Disconnecting from database. securityscanningnotificationworker stdout | 2025-09-26 08:39:42,258 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:42 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:39:43,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:39:43,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:53.545186+00:00 (in 9.999517 seconds) proxycacheblobworker stdout | 2025-09-26 08:39:43,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:53 GMT)" (scheduled at 2025-09-26 08:39:43.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:39:43,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:39:43,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 39, 43, 546029), True, datetime.datetime(2025, 9, 26, 8, 39, 43, 546029), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:39:43,561 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:39:43,561 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:39:43,561 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:53 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:39:45,947 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:39:45,947 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:50.940190+00:00 (in 4.992736 seconds) exportactionlogsworker stdout | 2025-09-26 08:39:45,947 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:45 GMT)" (scheduled at 2025-09-26 08:39:45.946993+00:00) exportactionlogsworker stdout | 2025-09-26 08:39:45,947 [56] [DEBUG] [workers.queueworker] Running watchdog. exportactionlogsworker stdout | 2025-09-26 08:39:45,947 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:45 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:39:46,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:39:46,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:56.440077+00:00 (in 9.999388 seconds) notificationworker stdout | 2025-09-26 08:39:46,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:56 GMT)" (scheduled at 2025-09-26 08:39:46.440077+00:00) notificationworker stdout | 2025-09-26 08:39:46,441 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:39:46,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 39, 46, 441063), True, datetime.datetime(2025, 9, 26, 8, 39, 46, 441063), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:39:46,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:39:46,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:39:46,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:39:56 GMT)" executed successfully securityworker stdout | 2025-09-26 08:39:47,384 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} gunicorn-web stdout | 2025-09-26 08:39:47,639 [239] [DEBUG] [app] Starting request: urn:request:0168ba8f-6270-4d50-9a8c-53c6fb61a133 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:39:47,641 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:39:47,642 [250] [DEBUG] [app] Starting request: urn:request:29c85b0d-00b1-4678-aca0-87a63cc1a6f9 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:39:47,643 [250] [DEBUG] [app] Ending request: urn:request:29c85b0d-00b1-4678-aca0-87a63cc1a6f9 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:29c85b0d-00b1-4678-aca0-87a63cc1a6f9', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:39:47,644 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:39:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:39:47,644 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:39:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:39:47,645 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:39:47,647 [241] [DEBUG] [app] Starting request: urn:request:dedf002f-9c98-405d-bf5f-7090b67f7e30 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:39:47,647 [241] [DEBUG] [app] Ending request: urn:request:dedf002f-9c98-405d-bf5f-7090b67f7e30 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:dedf002f-9c98-405d-bf5f-7090b67f7e30', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:39:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:39:47,647 [241] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:39:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:39:47,648 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:39:47,648 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:39:47,648 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:39:47,648 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:39:47,657 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:39:47,657 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:39:47,666 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:39:47,670 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:39:47,673 [239] [DEBUG] [app] Ending request: urn:request:0168ba8f-6270-4d50-9a8c-53c6fb61a133 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:0168ba8f-6270-4d50-9a8c-53c6fb61a133', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:39:47,673 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:39:47,674 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:39:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:39:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.036 118 0.036) gunicorn-web stdout | 2025-09-26 08:39:47,727 [242] [DEBUG] [app] Starting request: urn:request:19197703-7991-4757-84f6-6a23b088f95e (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:39:47,728 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:39:47,730 [256] [DEBUG] [app] Starting request: urn:request:22e9151a-2b6f-4ea7-be92-f8e9f3dd6274 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:39:47,730 [256] [DEBUG] [app] Ending request: urn:request:22e9151a-2b6f-4ea7-be92-f8e9f3dd6274 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:22e9151a-2b6f-4ea7-be92-f8e9f3dd6274', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:39:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:39:47,731 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-registry stdout | 2025-09-26 08:39:47,731 [256] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:39:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:39:47,732 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:39:47,733 [239] [DEBUG] [app] Starting request: urn:request:3e35d305-24cb-4580-bbaf-ff77836d7bf4 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:39:47,734 [239] [DEBUG] [app] Ending request: urn:request:3e35d305-24cb-4580-bbaf-ff77836d7bf4 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:3e35d305-24cb-4580-bbaf-ff77836d7bf4', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:39:47,734 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:39:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:39:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:39:47,734 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:39:47,734 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:39:47,735 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:39:47,735 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:39:47,743 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:39:47,743 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:39:47,754 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:39:47,758 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:39:47,762 [242] [DEBUG] [app] Ending request: urn:request:19197703-7991-4757-84f6-6a23b088f95e (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:19197703-7991-4757-84f6-6a23b088f95e', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:39:47,762 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:39:47,762 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:39:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:39:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.036 118 0.035) gunicorn-secscan stdout | 2025-09-26 08:39:48,871 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:39:48 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:39:48 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 959 0.001) securityworker stdout | 2025-09-26 08:39:49,334 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:39:49,334 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:39:57.335452+00:00 (in 8.000673 seconds) securityworker stdout | 2025-09-26 08:39:49,334 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:19 GMT)" (scheduled at 2025-09-26 08:39:49.334273+00:00) securityworker stdout | 2025-09-26 08:39:49,335 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:39:49,335 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:39:49,338 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:39:49,339 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:39:49,352 [89] [DEBUG] [peewee] ('SELECT Min("t1"."id") FROM "manifest" AS "t1"', []) securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:39:49,355 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:39:49,355 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:39:49,355 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:39:49,355 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:39:49,356 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 9]) securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stdout | 2025-09-26 08:39:49,360 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stdout | 2025-09-26 08:39:49,360 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:39:49,360 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 9 securityworker stdout | 2025-09-26 08:39:49,360 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:39:49,360 [89] [DEBUG] [util.migrate.allocator] Total range: 9-36 securityworker stdout | 2025-09-26 08:39:49,360 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:39:49,360 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-36 securityworker stdout | 2025-09-26 08:39:49,360 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 9 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 9-36 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-36 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:39:49,361 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 18, 26]) securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 18-26 by worker securityworker stdout | 2025-09-26 08:39:49,364 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 18-26 by worker securityworker stdout | 2025-09-26 08:39:49,364 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 18-26 securityworker stdout | 2025-09-26 08:39:49,364 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 18-26 securityworker stdout | 2025-09-26 08:39:49,364 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:39:49,364 [89] [DEBUG] [util.migrate.allocator] Total range: 9-36 securityworker stdout | 2025-09-26 08:39:49,364 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:39:49,364 [89] [DEBUG] [util.migrate.allocator] Left range 18-26 securityworker stdout | 2025-09-26 08:39:49,364 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 26-36 securityworker stdout | 2025-09-26 08:39:49,364 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 18-26 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 18-26 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 9-36 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Left range 18-26 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 26-36 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:39:49,365 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 28, 36]) securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 28-36 by worker securityworker stdout | 2025-09-26 08:39:49,368 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 28-36 by worker securityworker stdout | 2025-09-26 08:39:49,368 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 28-36 securityworker stdout | 2025-09-26 08:39:49,368 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 28 securityworker stdout | 2025-09-26 08:39:49,368 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:39:49,368 [89] [DEBUG] [util.migrate.allocator] Total range: 9-28 securityworker stdout | 2025-09-26 08:39:49,368 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:39:49,368 [89] [DEBUG] [util.migrate.allocator] Right range 18-26 securityworker stdout | 2025-09-26 08:39:49,368 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-18 securityworker stdout | 2025-09-26 08:39:49,368 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 10 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 28-36 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 28 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 9-28 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Right range 18-26 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-18 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 10 securityworker stdout | 2025-09-26 08:39:49,369 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 10, 18]) securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 10-18 by worker securityworker stdout | 2025-09-26 08:39:49,372 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 10-18 by worker securityworker stdout | 2025-09-26 08:39:49,372 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 10-18 securityworker stdout | 2025-09-26 08:39:49,372 [89] [DEBUG] [util.migrate.allocator] Merging with block 18-26 securityworker stdout | 2025-09-26 08:39:49,373 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:39:49,373 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 10-26 securityworker stdout | 2025-09-26 08:39:49,373 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:39:49,373 [89] [DEBUG] [util.migrate.allocator] Total range: 9-28 securityworker stdout | 2025-09-26 08:39:49,373 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 10-18 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 18-26 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 10-26 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 9-28 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Right range 10-26 securityworker stdout | 2025-09-26 08:39:49,373 [89] [DEBUG] [util.migrate.allocator] Right range 10-26 securityworker stdout | 2025-09-26 08:39:49,373 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-10 securityworker stdout | 2025-09-26 08:39:49,373 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 9 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-10 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 9 securityworker stdout | 2025-09-26 08:39:49,374 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 9, 17]) securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 9-17 by worker securityworker stdout | 2025-09-26 08:39:49,377 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 9-17 by worker securityworker stdout | 2025-09-26 08:39:49,377 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 9-17 securityworker stdout | 2025-09-26 08:39:49,377 [89] [DEBUG] [util.migrate.allocator] Merging with block 10-26 securityworker stdout | 2025-09-26 08:39:49,377 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 26 securityworker stdout | 2025-09-26 08:39:49,377 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:39:49,377 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:39:49,377 [89] [DEBUG] [util.migrate.allocator] Total range: 26-28 securityworker stdout | 2025-09-26 08:39:49,377 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 9-17 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 10-26 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 26 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 26-28 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 26-28 securityworker stdout | 2025-09-26 08:39:49,377 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 26-28 securityworker stdout | 2025-09-26 08:39:49,377 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 26 securityworker stdout | 2025-09-26 08:39:49,378 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 26, 34]) securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 26 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 26-34 by worker securityworker stdout | 2025-09-26 08:39:49,381 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 26-34 by worker securityworker stdout | 2025-09-26 08:39:49,381 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 26-34 securityworker stdout | 2025-09-26 08:39:49,381 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 26 securityworker stdout | 2025-09-26 08:39:49,381 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 34 securityworker stdout | 2025-09-26 08:39:49,381 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:39:49,381 [89] [DEBUG] [util.migrate.allocator] Total range: 34-26 securityworker stdout | 2025-09-26 08:39:49,381 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:39:49,381 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:39:49,381 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 26-34 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 26 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 34 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 34-26 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:39:49,381 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:39:49,381 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:39:49,382 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 34, 49, 339194), 14, 22]) securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 14-22 by worker securityworker stdout | 2025-09-26 08:39:49,385 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 14-22 by worker securityworker stdout | 2025-09-26 08:39:49,385 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 14-22 securityworker stdout | 2025-09-26 08:39:49,385 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 14-22 securityworker stdout | 2025-09-26 08:39:49,385 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:39:49,385 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:39:49,385 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:39:49,385 [89] [DEBUG] [util.migrate.allocator] Right range 14-22 securityworker stdout | 2025-09-26 08:39:49,385 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-14 securityworker stdout | 2025-09-26 08:39:49,385 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 6 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 14-22 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 14-22 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Right range 14-22 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-14 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 6 securityworker stdout | 2025-09-26 08:39:49,386 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 34, 49, 339194), 2, 10]) securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 2-10 by worker securityworker stdout | 2025-09-26 08:39:49,389 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 2-10 by worker securityworker stdout | 2025-09-26 08:39:49,389 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 2-10 securityworker stdout | 2025-09-26 08:39:49,389 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 2-10 securityworker stdout | 2025-09-26 08:39:49,390 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stdout | 2025-09-26 08:39:49,390 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:39:49,390 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 3 total holes securityworker stdout | 2025-09-26 08:39:49,390 [89] [DEBUG] [util.migrate.allocator] Right range 2-10 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 2-10 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 2-10 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 3 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Right range 2-10 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:39:49,390 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:39:49,390 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:39:49,390 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 34, 49, 339194), 1, 9]) securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stdout | 2025-09-26 08:39:49,394 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stdout | 2025-09-26 08:39:49,394 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:39:49,394 [89] [DEBUG] [util.migrate.allocator] Merging with block 2-10 securityworker stdout | 2025-09-26 08:39:49,394 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 10 securityworker stdout | 2025-09-26 08:39:49,394 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:39:49,394 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:39:49,394 [89] [DEBUG] [util.migrate.allocator] Total range: 10-36 securityworker stdout | 2025-09-26 08:39:49,394 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:39:49,394 [89] [DEBUG] [util.migrate.allocator] Left range 14-22 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 2-10 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 10 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 10-36 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Left range 14-22 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 22-36 securityworker stdout | 2025-09-26 08:39:49,394 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 22-36 securityworker stdout | 2025-09-26 08:39:49,394 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:39:49,395 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 34, 49, 339194), 24, 32]) securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 24-32 by worker securityworker stdout | 2025-09-26 08:39:49,398 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 24-32 by worker securityworker stdout | 2025-09-26 08:39:49,398 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 24-32 securityworker stdout | 2025-09-26 08:39:49,398 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 24-32 securityworker stdout | 2025-09-26 08:39:49,398 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stdout | 2025-09-26 08:39:49,398 [89] [DEBUG] [util.migrate.allocator] Total range: 10-36 securityworker stdout | 2025-09-26 08:39:49,398 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 3 total holes securityworker stdout | 2025-09-26 08:39:49,398 [89] [DEBUG] [util.migrate.allocator] Right range 14-22 securityworker stdout | 2025-09-26 08:39:49,398 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 10-14 securityworker stdout | 2025-09-26 08:39:49,398 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 10 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 24-32 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 24-32 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 10-36 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 3 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Right range 14-22 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 10-14 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 10 securityworker stdout | 2025-09-26 08:39:49,399 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 34, 49, 339194), 10, 18]) securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 10-18 by worker securityworker stdout | 2025-09-26 08:39:49,402 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 10-18 by worker securityworker stdout | 2025-09-26 08:39:49,403 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 10-18 securityworker stdout | 2025-09-26 08:39:49,403 [89] [DEBUG] [util.migrate.allocator] Merging with block 14-22 securityworker stdout | 2025-09-26 08:39:49,403 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 22 securityworker stdout | 2025-09-26 08:39:49,403 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:39:49,403 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:39:49,403 [89] [DEBUG] [util.migrate.allocator] Total range: 22-36 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 10-18 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 14-22 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 22 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 22-36 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:39:49,403 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:39:49,403 [89] [DEBUG] [util.migrate.allocator] Left range 24-32 securityworker stdout | 2025-09-26 08:39:49,403 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 32-36 securityworker stdout | 2025-09-26 08:39:49,403 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 32 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Left range 24-32 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 32-36 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 32 securityworker stdout | 2025-09-26 08:39:49,403 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 34, 49, 339194), 32, 36]) securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 32-36 by worker securityworker stdout | 2025-09-26 08:39:49,407 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 32-36 by worker securityworker stdout | 2025-09-26 08:39:49,407 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 32-36 securityworker stdout | 2025-09-26 08:39:49,407 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 24-32 securityworker stdout | 2025-09-26 08:39:49,407 [89] [DEBUG] [util.migrate.allocator] Already merged with block 24-32 securityworker stdout | 2025-09-26 08:39:49,407 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 24 securityworker stdout | 2025-09-26 08:39:49,407 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:39:49,407 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:39:49,407 [89] [DEBUG] [util.migrate.allocator] Total range: 22-24 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 32-36 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 24-32 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 24-32 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 24 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 22-24 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:39:49,407 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:39:49,407 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 22-24 securityworker stdout | 2025-09-26 08:39:49,407 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 22 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 22-24 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 22 securityworker stdout | 2025-09-26 08:39:49,408 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 34, 49, 339194), 22, 30]) securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 22-30 by worker securityworker stdout | 2025-09-26 08:39:49,411 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 22-30 by worker securityworker stdout | 2025-09-26 08:39:49,411 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 22-30 securityworker stdout | 2025-09-26 08:39:49,411 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 22 securityworker stdout | 2025-09-26 08:39:49,411 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 30 securityworker stdout | 2025-09-26 08:39:49,411 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:39:49,411 [89] [DEBUG] [util.migrate.allocator] Total range: 30-22 securityworker stdout | 2025-09-26 08:39:49,411 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:39:49,411 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:39:49,411 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 22-30 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 22 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 30 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 30-22 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:39:49,411 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:39:49,411 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:39:49,412 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 34, 49, 339194), 24, 32]) securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 24-32 by worker securityworker stdout | 2025-09-26 08:39:49,415 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 24-32 by worker securityworker stdout | 2025-09-26 08:39:49,415 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 24-32 securityworker stdout | 2025-09-26 08:39:49,415 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 24-32 securityworker stdout | 2025-09-26 08:39:49,415 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:39:49,415 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:39:49,415 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:39:49,415 [89] [DEBUG] [util.migrate.allocator] Left range 24-32 securityworker stdout | 2025-09-26 08:39:49,415 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 32-36 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 24-32 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 24-32 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Left range 24-32 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 32-36 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 32 securityworker stdout | 2025-09-26 08:39:49,415 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 32 securityworker stdout | 2025-09-26 08:39:49,416 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 34, 49, 339194), 32, 36]) securityworker stdout | 2025-09-26 08:39:49,420 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 32-36 by worker securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 32-36 by worker securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 32-36 securityworker stdout | 2025-09-26 08:39:49,420 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 32-36 securityworker stdout | 2025-09-26 08:39:49,420 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 24-32 securityworker stdout | 2025-09-26 08:39:49,420 [89] [DEBUG] [util.migrate.allocator] Already merged with block 24-32 securityworker stdout | 2025-09-26 08:39:49,420 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 24 securityworker stdout | 2025-09-26 08:39:49,420 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:39:49,420 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:39:49,420 [89] [DEBUG] [util.migrate.allocator] Total range: 1-24 securityworker stdout | 2025-09-26 08:39:49,420 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 24-32 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 24-32 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 24 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-24 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-24 securityworker stdout | 2025-09-26 08:39:49,420 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-24 securityworker stdout | 2025-09-26 08:39:49,420 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 16 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 16 securityworker stdout | 2025-09-26 08:39:49,421 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 34, 49, 339194), 12, 20]) securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 12-20 by worker securityworker stdout | 2025-09-26 08:39:49,424 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 12-20 by worker securityworker stdout | 2025-09-26 08:39:49,424 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 12-20 securityworker stdout | 2025-09-26 08:39:49,424 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 12-20 securityworker stdout | 2025-09-26 08:39:49,424 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:39:49,424 [89] [DEBUG] [util.migrate.allocator] Total range: 1-24 securityworker stdout | 2025-09-26 08:39:49,424 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:39:49,424 [89] [DEBUG] [util.migrate.allocator] Left range 12-20 securityworker stdout | 2025-09-26 08:39:49,424 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 20-24 securityworker stdout | 2025-09-26 08:39:49,424 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 20 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 12-20 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 12-20 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-24 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Left range 12-20 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 20-24 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 20 securityworker stdout | 2025-09-26 08:39:49,425 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 34, 49, 339194), 20, 28]) securityworker stdout | 2025-09-26 08:39:49,428 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 20-28 by worker securityworker stdout | 2025-09-26 08:39:49,428 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 20-28 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 20-28 by worker securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 20-28 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 12-20 securityworker stdout | 2025-09-26 08:39:49,428 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 12-20 securityworker stdout | 2025-09-26 08:39:49,428 [89] [DEBUG] [util.migrate.allocator] Already merged with block 12-20 securityworker stdout | 2025-09-26 08:39:49,428 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 12 securityworker stdout | 2025-09-26 08:39:49,428 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:39:49,428 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:39:49,428 [89] [DEBUG] [util.migrate.allocator] Total range: 1-12 securityworker stdout | 2025-09-26 08:39:49,428 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:39:49,428 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-12 securityworker stdout | 2025-09-26 08:39:49,428 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 4 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 12-20 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 12 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-12 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-12 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 4 securityworker stdout | 2025-09-26 08:39:49,429 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 34, 49, 339194), 3, 11]) securityworker stdout | 2025-09-26 08:39:49,432 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 3-11 by worker securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 3-11 by worker securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 3-11 securityworker stdout | 2025-09-26 08:39:49,432 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 3-11 securityworker stdout | 2025-09-26 08:39:49,432 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 3-11 securityworker stdout | 2025-09-26 08:39:49,432 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:39:49,432 [89] [DEBUG] [util.migrate.allocator] Total range: 1-12 securityworker stdout | 2025-09-26 08:39:49,432 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:39:49,432 [89] [DEBUG] [util.migrate.allocator] Left range 3-11 securityworker stdout | 2025-09-26 08:39:49,432 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 11-12 securityworker stdout | 2025-09-26 08:39:49,432 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 11 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 3-11 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-12 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Left range 3-11 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 11-12 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 11 securityworker stdout | 2025-09-26 08:39:49,433 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 34, 49, 339194), 11, 19]) securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 11-19 by worker securityworker stdout | 2025-09-26 08:39:49,436 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 11-19 by worker securityworker stdout | 2025-09-26 08:39:49,436 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 11-19 securityworker stdout | 2025-09-26 08:39:49,436 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 3-11 securityworker stdout | 2025-09-26 08:39:49,436 [89] [DEBUG] [util.migrate.allocator] Already merged with block 3-11 securityworker stdout | 2025-09-26 08:39:49,436 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 3 securityworker stdout | 2025-09-26 08:39:49,436 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:39:49,436 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:39:49,436 [89] [DEBUG] [util.migrate.allocator] Total range: 1-3 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 11-19 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 3-11 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 3-11 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 3 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-3 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:39:49,436 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:39:49,437 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-3 securityworker stdout | 2025-09-26 08:39:49,437 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-3 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:39:49,437 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 34, 49, 339194), 1, 9]) securityworker stdout | 2025-09-26 08:39:49,441 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stdout | 2025-09-26 08:39:49,441 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:39:49,441 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:39:49,441 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 9 securityworker stdout | 2025-09-26 08:39:49,441 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:39:49,441 [89] [DEBUG] [util.migrate.allocator] Total range: 9-1 securityworker stdout | 2025-09-26 08:39:49,441 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:39:49,441 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stdout | 2025-09-26 08:39:49,442 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:19 GMT)" executed successfully securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 9 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] Total range: 9-1 securityworker stderr | 2025-09-26 08:39:49 [89] [DEBUG] [util.migrate.allocator] No more work by worker gunicorn-secscan stdout | 2025-09-26 08:39:49,777 [228] [INFO] [gunicorn.access] - - [26/Sep/2025:08:39:49 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:39:49 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) logrotateworker stdout | 2025-09-26 08:39:50,399 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} exportactionlogsworker stdout | 2025-09-26 08:39:50,940 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:39:50,941 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:45.946993+00:00 (in 55.005895 seconds) exportactionlogsworker stdout | 2025-09-26 08:39:50,941 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:50 GMT)" (scheduled at 2025-09-26 08:39:50.940190+00:00) exportactionlogsworker stdout | 2025-09-26 08:39:50,941 [56] [DEBUG] [workers.queueworker] Getting work item from queue. exportactionlogsworker stdout | 2025-09-26 08:39:50,942 [56] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 39, 50, 941460), True, datetime.datetime(2025, 9, 26, 8, 39, 50, 941460), 0, 'exportactionlogs/%', 50, 1, 0]) exportactionlogsworker stdout | 2025-09-26 08:39:50,954 [56] [DEBUG] [workers.queueworker] No more work. exportactionlogsworker stdout | 2025-09-26 08:39:50,954 [56] [DEBUG] [data.database] Disconnecting from database. exportactionlogsworker stdout | 2025-09-26 08:39:50,955 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:50 GMT)" executed successfully gcworker stdout | 2025-09-26 08:39:51,444 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:39:51,444 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:04.439268+00:00 (in 12.994327 seconds) gcworker stdout | 2025-09-26 08:39:51,445 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:21 GMT)" (scheduled at 2025-09-26 08:39:51.444401+00:00) gcworker stdout | 2025-09-26 08:39:51,445 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) gcworker stdout | 2025-09-26 08:39:51,457 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875691456, None, 1, 0]) gcworker stdout | 2025-09-26 08:39:51,461 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:39:51,461 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:21 GMT)" executed successfully buildlogsarchiver stdout | 2025-09-26 08:39:51,485 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'} manifestsubjectbackfillworker stdout | 2025-09-26 08:39:52,191 [64] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestsubjectbackfillworker.py', 'pid': '64'} storagereplication stdout | 2025-09-26 08:39:53,226 [95] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'storagereplication.py', 'pid': '95'} proxycacheblobworker stdout | 2025-09-26 08:39:53,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:39:53,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:03.545186+00:00 (in 9.999534 seconds) proxycacheblobworker stdout | 2025-09-26 08:39:53,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:03 GMT)" (scheduled at 2025-09-26 08:39:53.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:39:53,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:39:53,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 39, 53, 546108), True, datetime.datetime(2025, 9, 26, 8, 39, 53, 546108), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:39:53,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:39:53,559 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:39:53,559 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:03 GMT)" executed successfully teamsyncworker stdout | 2025-09-26 08:39:53,765 [105] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'teamsyncworker.py', 'pid': '105'} servicekey stdout | 2025-09-26 08:39:53,780 [93] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'servicekeyworker.py', 'pid': '93'} blobuploadcleanupworker stdout | 2025-09-26 08:39:53,864 [50] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'blobuploadcleanupworker.py', 'pid': '50'} gcworker stdout | 2025-09-26 08:39:54,175 [57] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'gcworker.py', 'pid': '57'} queuecleanupworker stdout | 2025-09-26 08:39:54,290 [71] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'queuecleanupworker.py', 'pid': '71'} securityscanningnotificationworker stdout | 2025-09-26 08:39:54,593 [88] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityscanningnotificationworker.py', 'pid': '88'} chunkcleanupworker stdout | 2025-09-26 08:39:54,889 [53] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'chunkcleanupworker.py', 'pid': '53'} repositorygcworker stdout | 2025-09-26 08:39:55,606 [86] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositorygcworker.py', 'pid': '86'} gunicorn-secscan stdout | 2025-09-26 08:39:55,762 [227] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '227'} gunicorn-secscan stdout | 2025-09-26 08:39:55,772 [228] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '228'} gunicorn-secscan stdout | 2025-09-26 08:39:55,777 [60] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '60'} namespacegcworker stdout | 2025-09-26 08:39:55,995 [66] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'namespacegcworker.py', 'pid': '66'} notificationworker stdout | 2025-09-26 08:39:56,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:39:56,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:06.440077+00:00 (in 9.999489 seconds) notificationworker stdout | 2025-09-26 08:39:56,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:06 GMT)" (scheduled at 2025-09-26 08:39:56.440077+00:00) notificationworker stdout | 2025-09-26 08:39:56,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:39:56,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 39, 56, 440937), True, datetime.datetime(2025, 9, 26, 8, 39, 56, 440937), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:39:56,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:39:56,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:39:56,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:06 GMT)" executed successfully repositoryactioncounter stdout | 2025-09-26 08:39:56,490 [80] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositoryactioncounter.py', 'pid': '80'} expiredappspecifictokenworker stdout | 2025-09-26 08:39:56,591 [55] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'expiredappspecifictokenworker.py', 'pid': '55'} gunicorn-web stdout | 2025-09-26 08:39:56,641 [240] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '240'} gunicorn-web stdout | 2025-09-26 08:39:56,664 [239] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '239'} gunicorn-web stdout | 2025-09-26 08:39:56,741 [242] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '242'} gunicorn-web stdout | 2025-09-26 08:39:56,744 [241] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '241'} gunicorn-web stdout | 2025-09-26 08:39:56,748 [61] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '61'} builder stdout | 2025-09-26 08:39:56,897 [51] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'builder.py', 'pid': '51'} securityworker stdout | 2025-09-26 08:39:57,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:39:57,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:19.334273+00:00 (in 21.998317 seconds) securityworker stdout | 2025-09-26 08:39:57,336 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:27 GMT)" (scheduled at 2025-09-26 08:39:57.335452+00:00) securityworker stdout | 2025-09-26 08:39:57,337 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:39:57,337 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:39:57,340 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:39:57,343 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:39:57,355 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:39:57,356 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:39:57,356 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:39:57,356 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:39:57,356 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 36]) securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:39:57,360 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:39:57,361 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:39:57,361 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:39:57,361 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:39:57,361 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:39:57,361 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:39:57,361 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:39:57,361 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:39:57,362 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:39:57,362 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:39:57,362 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:39:57,362 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 34, 57, 343681), 1, 36]) securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:39:57,365 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:39:57,366 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:39:57,366 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:39:57,366 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:39:57,366 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:39:57,366 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:39:57,366 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:39:57,366 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:39:57,366 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:39:57,366 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:39:57,366 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:39:57,366 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 34, 57, 343681), 1, 36]) securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:39:57,370 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:39:57,371 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:39:57,371 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:39:57,371 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:39:57,371 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:39:57,371 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:39:57,371 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:39:57,371 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:39:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:39:57,371 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:27 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:39:57,795 [68] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'notificationworker.py', 'pid': '68'} namespacegcworker stdout | 2025-09-26 08:39:58,836 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:39:58,836 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:34.840898+00:00 (in 36.004455 seconds) namespacegcworker stdout | 2025-09-26 08:39:58,836 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:58 GMT)" (scheduled at 2025-09-26 08:39:58.835976+00:00) namespacegcworker stdout | 2025-09-26 08:39:58,836 [66] [DEBUG] [workers.queueworker] Getting work item from queue. namespacegcworker stdout | 2025-09-26 08:39:58,837 [66] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 39, 58, 836789), True, datetime.datetime(2025, 9, 26, 8, 39, 58, 836789), 0, 'namespacegc/%', 50, 1, 0]) namespacegcworker stdout | 2025-09-26 08:39:58,851 [66] [DEBUG] [workers.queueworker] No more work. namespacegcworker stdout | 2025-09-26 08:39:58,851 [66] [DEBUG] [data.database] Disconnecting from database. namespacegcworker stdout | 2025-09-26 08:39:58,851 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:40:58 GMT)" executed successfully globalpromstats stdout | 2025-09-26 08:40:00,182 [58] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'globalpromstats.py', 'pid': '58'} gunicorn-web stdout | 2025-09-26 08:40:02,639 [239] [DEBUG] [app] Starting request: urn:request:18fd73d3-186c-4c9c-afa0-5f9e09175e9a (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:40:02,640 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:40:02,643 [250] [DEBUG] [app] Starting request: urn:request:f28f7a14-0bc3-4c8f-bf04-437a12a72361 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:40:02,643 [250] [DEBUG] [app] Ending request: urn:request:f28f7a14-0bc3-4c8f-bf04-437a12a72361 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:f28f7a14-0bc3-4c8f-bf04-437a12a72361', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:40:02,644 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:40:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:40:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.003) gunicorn-web stdout | 2025-09-26 08:40:02,644 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:40:02,645 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:40:02,646 [239] [DEBUG] [app] Starting request: urn:request:3b148d9f-4605-468c-92e0-61108c2ddc50 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:40:02,646 [239] [DEBUG] [app] Ending request: urn:request:3b148d9f-4605-468c-92e0-61108c2ddc50 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:3b148d9f-4605-468c-92e0-61108c2ddc50', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:40:02,647 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:40:02 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:40:02 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:40:02,647 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:40:02,647 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:40:02,647 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:40:02,647 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:40:02,655 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:40:02,655 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:40:02,667 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:40:02,670 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:40:02,674 [239] [DEBUG] [app] Ending request: urn:request:18fd73d3-186c-4c9c-afa0-5f9e09175e9a (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:18fd73d3-186c-4c9c-afa0-5f9e09175e9a', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:40:02,674 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:40:02,674 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:40:02 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:40:02 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.036 118 0.036) gunicorn-web stdout | 2025-09-26 08:40:02,727 [241] [DEBUG] [app] Starting request: urn:request:b36cdf23-4928-47df-900c-61832d2b5924 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:40:02,729 [241] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:40:02,731 [255] [DEBUG] [app] Starting request: urn:request:af96a5be-0135-466e-8b92-fcaa5f0d4131 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:40:02,731 [255] [DEBUG] [app] Ending request: urn:request:af96a5be-0135-466e-8b92-fcaa5f0d4131 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:af96a5be-0135-466e-8b92-fcaa5f0d4131', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:40:02,732 [255] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:40:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:40:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:40:02,732 [241] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:40:02,733 [241] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:40:02,741 [241] [DEBUG] [app] Starting request: urn:request:88251800-2779-4af3-89fe-0634beaac188 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:40:02,742 [241] [DEBUG] [app] Ending request: urn:request:88251800-2779-4af3-89fe-0634beaac188 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:88251800-2779-4af3-89fe-0634beaac188', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:40:02,742 [241] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:40:02 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:40:02 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.008 159 0.008) gunicorn-web stdout | 2025-09-26 08:40:02,742 [241] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:40:02,743 [241] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:40:02,743 [241] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:40:02,743 [241] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:40:02,751 [241] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:40:02,751 [241] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:40:02,762 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:40:02,765 [241] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:40:02,769 [241] [DEBUG] [app] Ending request: urn:request:b36cdf23-4928-47df-900c-61832d2b5924 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:b36cdf23-4928-47df-900c-61832d2b5924', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:40:02,769 [241] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:40:02,769 [241] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:40:02 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:40:02 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.042 118 0.042) gunicorn-registry stdout | 2025-09-26 08:40:02,932 [257] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '257'} gunicorn-registry stdout | 2025-09-26 08:40:02,939 [252] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '252'} gunicorn-registry stdout | 2025-09-26 08:40:02,949 [59] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '59'} gunicorn-registry stdout | 2025-09-26 08:40:02,957 [254] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '254'} gunicorn-registry stdout | 2025-09-26 08:40:02,995 [253] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '253'} gunicorn-registry stdout | 2025-09-26 08:40:03,008 [255] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '255'} gunicorn-registry stdout | 2025-09-26 08:40:03,041 [256] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '256'} gunicorn-registry stdout | 2025-09-26 08:40:03,045 [251] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '251'} gunicorn-registry stdout | 2025-09-26 08:40:03,053 [250] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '250'} gunicorn-secscan stdout | 2025-09-26 08:40:03,523 [228] [INFO] [gunicorn.access] - - [26/Sep/2025:08:40:03 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:40:03 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) proxycacheblobworker stdout | 2025-09-26 08:40:03,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:40:03,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:13.545186+00:00 (in 9.999497 seconds) proxycacheblobworker stdout | 2025-09-26 08:40:03,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:13 GMT)" (scheduled at 2025-09-26 08:40:03.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:40:03,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:40:03,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 40, 3, 546036), True, datetime.datetime(2025, 9, 26, 8, 40, 3, 546036), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:40:03,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:40:03,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:40:03,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:13 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:40:03,698 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} gcworker stdout | 2025-09-26 08:40:04,439 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:40:04,439 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:21.444401+00:00 (in 17.004611 seconds) gcworker stdout | 2025-09-26 08:40:04,439 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:34 GMT)" (scheduled at 2025-09-26 08:40:04.439268+00:00) gcworker stdout | 2025-09-26 08:40:04,440 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:40:04,440 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:34 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:40:04,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:40:04,735 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:34.734534+00:00 (in 29.999525 seconds) autopruneworker stdout | 2025-09-26 08:40:04,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:34 GMT)" (scheduled at 2025-09-26 08:40:04.734534+00:00) autopruneworker stdout | 2025-09-26 08:40:04,743 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758872404743, None, 1, 0]) autopruneworker stdout | 2025-09-26 08:40:04,748 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:40:04,749 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:40:04,749 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:34 GMT)" executed successfully gunicorn-secscan stdout | 2025-09-26 08:40:05,050 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:40:05 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:40:05 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) notificationworker stdout | 2025-09-26 08:40:06,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:40:06,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:16.440077+00:00 (in 9.999126 seconds) notificationworker stdout | 2025-09-26 08:40:06,441 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:16 GMT)" (scheduled at 2025-09-26 08:40:06.440077+00:00) notificationworker stdout | 2025-09-26 08:40:06,441 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:40:06,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 40, 6, 441268), True, datetime.datetime(2025, 9, 26, 8, 40, 6, 441268), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:40:06,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:40:06,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:40:06,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:16 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:40:06,997 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} proxycacheblobworker stdout | 2025-09-26 08:40:09,300 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} buildlogsarchiver stdout | 2025-09-26 08:40:09,351 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:40:09,352 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:39.351551+00:00 (in 29.999515 seconds) buildlogsarchiver stdout | 2025-09-26 08:40:09,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:39 GMT)" (scheduled at 2025-09-26 08:40:09.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:40:09,352 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 40, 9, 352373), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:40:09,366 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:40:09,366 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:40:09,366 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:39 GMT)" executed successfully manifestbackfillworker stdout | 2025-09-26 08:40:10,392 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} proxycacheblobworker stdout | 2025-09-26 08:40:13,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:40:13,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:13.548017+00:00 (in 0.002354 seconds) proxycacheblobworker stdout | 2025-09-26 08:40:13,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:23 GMT)" (scheduled at 2025-09-26 08:40:13.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:40:13,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:40:13,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 40, 13, 546132), True, datetime.datetime(2025, 9, 26, 8, 40, 13, 546132), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:40:13,548 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:40:13,548 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:23.545186+00:00 (in 9.996797 seconds) proxycacheblobworker stdout | 2025-09-26 08:40:13,548 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:13 GMT)" (scheduled at 2025-09-26 08:40:13.548017+00:00) proxycacheblobworker stdout | 2025-09-26 08:40:13,549 [69] [DEBUG] [workers.queueworker] Running watchdog. proxycacheblobworker stdout | 2025-09-26 08:40:13,549 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:13 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:40:13,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:40:13,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:40:13,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:23 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:40:13,758 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:40:13,758 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:13.760217+00:00 (in 0.001787 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:40:13,758 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:13 GMT)" (scheduled at 2025-09-26 08:40:13.757911+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:40:13,759 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."subject_backfilled" = %s) OR ("t1"."subject_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:40:13,760 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:40:13,760 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:13.757911+00:00 (in 59.997298 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:40:13,760 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:13 GMT)" (scheduled at 2025-09-26 08:40:13.760217+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:40:13,761 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."artifact_type_backfilled" = %s) OR ("t1"."artifact_type_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:40:13,771 [64] [DEBUG] [__main__] Manifest subject backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:40:13,771 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:40:13,775 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:13 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:40:13,779 [64] [DEBUG] [__main__] Manifest artifact_type backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:40:13,779 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:40:13,779 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:13 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:40:16,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:40:16,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:26.440077+00:00 (in 9.999153 seconds) notificationworker stdout | 2025-09-26 08:40:16,441 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:26 GMT)" (scheduled at 2025-09-26 08:40:16.440077+00:00) notificationworker stdout | 2025-09-26 08:40:16,441 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:40:16,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 40, 16, 441174), True, datetime.datetime(2025, 9, 26, 8, 40, 16, 441174), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:40:16,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:40:16,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:40:16,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:26 GMT)" executed successfully securityworker stdout | 2025-09-26 08:40:17,401 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} gunicorn-web stdout | 2025-09-26 08:40:17,640 [241] [DEBUG] [app] Starting request: urn:request:31866366-1f1e-48ea-a6e2-6b18c0b443ee (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:40:17,642 [241] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:40:17,645 [257] [DEBUG] [app] Starting request: urn:request:520ca927-5e7f-4dc4-8fb0-38a47dfae6d1 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:40:17,645 [257] [DEBUG] [app] Ending request: urn:request:520ca927-5e7f-4dc4-8fb0-38a47dfae6d1 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:520ca927-5e7f-4dc4-8fb0-38a47dfae6d1', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:40:17,645 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:40:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:40:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-web stdout | 2025-09-26 08:40:17,646 [241] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:40:17,646 [241] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:40:17,648 [241] [DEBUG] [app] Starting request: urn:request:77e453b6-e90e-4e2a-9879-6d6b986ce52c (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:40:17,648 [241] [DEBUG] [app] Ending request: urn:request:77e453b6-e90e-4e2a-9879-6d6b986ce52c (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:77e453b6-e90e-4e2a-9879-6d6b986ce52c', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:40:17,649 [241] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:40:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:40:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:40:17,649 [241] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:40:17,649 [241] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:40:17,650 [241] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:40:17,650 [241] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:40:17,657 [241] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:40:17,657 [241] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:40:17,667 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:40:17,671 [241] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:40:17,674 [241] [DEBUG] [app] Ending request: urn:request:31866366-1f1e-48ea-a6e2-6b18c0b443ee (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:31866366-1f1e-48ea-a6e2-6b18c0b443ee', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:40:17,674 [241] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:40:17,674 [241] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:40:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:40:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.035 118 0.035) gunicorn-web stdout | 2025-09-26 08:40:17,727 [240] [DEBUG] [app] Starting request: urn:request:8034e370-da04-41c9-a56a-42d424619384 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:40:17,729 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:40:17,730 [257] [DEBUG] [app] Starting request: urn:request:93cfede2-44ef-48cc-ad6e-6d4692c76dbf (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:40:17,731 [257] [DEBUG] [app] Ending request: urn:request:93cfede2-44ef-48cc-ad6e-6d4692c76dbf (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:93cfede2-44ef-48cc-ad6e-6d4692c76dbf', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:40:17,731 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:40:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:40:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-web stdout | 2025-09-26 08:40:17,731 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:40:17,732 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:40:17,739 [240] [DEBUG] [app] Starting request: urn:request:996f4fa1-216d-40b4-8f57-ff3268d76cfa (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:40:17,740 [240] [DEBUG] [app] Ending request: urn:request:996f4fa1-216d-40b4-8f57-ff3268d76cfa (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:996f4fa1-216d-40b4-8f57-ff3268d76cfa', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:40:17,740 [240] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:40:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:40:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:40:17,740 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:40:17,741 [240] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:40:17,741 [240] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:40:17,741 [240] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:40:17,749 [240] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:40:17,750 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:40:17,761 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:40:17,765 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:40:17,768 [240] [DEBUG] [app] Ending request: urn:request:8034e370-da04-41c9-a56a-42d424619384 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:8034e370-da04-41c9-a56a-42d424619384', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:40:17,768 [240] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:40:17,768 [240] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:40:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:40:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.042 118 0.042) securityworker stdout | 2025-09-26 08:40:19,334 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:40:19,334 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:27.335452+00:00 (in 8.000732 seconds) securityworker stdout | 2025-09-26 08:40:19,334 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:49 GMT)" (scheduled at 2025-09-26 08:40:19.334273+00:00) securityworker stdout | 2025-09-26 08:40:19,335 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:40:19,335 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:40:19,337 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:40:19,339 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:40:19,352 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stdout | 2025-09-26 08:40:19,352 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:49 GMT)" executed successfully gunicorn-secscan stdout | 2025-09-26 08:40:20,130 [228] [INFO] [gunicorn.access] - - [26/Sep/2025:08:40:20 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:20 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) logrotateworker stdout | 2025-09-26 08:40:20,416 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} gcworker stdout | 2025-09-26 08:40:21,444 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:40:21,444 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:34.439268+00:00 (in 12.994374 seconds) gcworker stdout | 2025-09-26 08:40:21,445 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:51 GMT)" (scheduled at 2025-09-26 08:40:21.444401+00:00) gcworker stdout | 2025-09-26 08:40:21,445 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) gcworker stdout | 2025-09-26 08:40:21,458 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875721458, None, 1, 0]) gcworker stdout | 2025-09-26 08:40:21,463 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:40:21,463 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:51 GMT)" executed successfully buildlogsarchiver stdout | 2025-09-26 08:40:21,501 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'} manifestsubjectbackfillworker stdout | 2025-09-26 08:40:22,213 [64] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestsubjectbackfillworker.py', 'pid': '64'} securityscanningnotificationworker stdout | 2025-09-26 08:40:22,245 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:40:22,245 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:42.242482+00:00 (in 19.996794 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:40:22,245 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:22 GMT)" (scheduled at 2025-09-26 08:40:22.245238+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:40:22,245 [88] [DEBUG] [workers.queueworker] Running watchdog. securityscanningnotificationworker stdout | 2025-09-26 08:40:22,246 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:22 GMT)" executed successfully gunicorn-secscan stdout | 2025-09-26 08:40:22,802 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:40:22 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:40:22 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 959 0.001) repositorygcworker stdout | 2025-09-26 08:40:23,149 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:40:23,149 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:39.235682+00:00 (in 16.086086 seconds) repositorygcworker stdout | 2025-09-26 08:40:23,149 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:23 GMT)" (scheduled at 2025-09-26 08:40:23.149141+00:00) repositorygcworker stdout | 2025-09-26 08:40:23,149 [86] [DEBUG] [workers.queueworker] Getting work item from queue. repositorygcworker stdout | 2025-09-26 08:40:23,150 [86] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 40, 23, 149951), True, datetime.datetime(2025, 9, 26, 8, 40, 23, 149951), 0, 'repositorygc/%', 50, 1, 0]) repositorygcworker stdout | 2025-09-26 08:40:23,163 [86] [DEBUG] [workers.queueworker] No more work. repositorygcworker stdout | 2025-09-26 08:40:23,163 [86] [DEBUG] [data.database] Disconnecting from database. repositorygcworker stdout | 2025-09-26 08:40:23,163 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:23 GMT)" executed successfully storagereplication stdout | 2025-09-26 08:40:23,260 [95] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'storagereplication.py', 'pid': '95'} proxycacheblobworker stdout | 2025-09-26 08:40:23,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:40:23,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:33.545186+00:00 (in 9.999547 seconds) proxycacheblobworker stdout | 2025-09-26 08:40:23,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:33 GMT)" (scheduled at 2025-09-26 08:40:23.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:40:23,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:40:23,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 40, 23, 546018), True, datetime.datetime(2025, 9, 26, 8, 40, 23, 546018), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:40:23,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:40:23,559 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:40:23,559 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:33 GMT)" executed successfully teamsyncworker stdout | 2025-09-26 08:40:23,781 [105] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'teamsyncworker.py', 'pid': '105'} servicekey stdout | 2025-09-26 08:40:23,796 [93] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'servicekeyworker.py', 'pid': '93'} blobuploadcleanupworker stdout | 2025-09-26 08:40:23,879 [50] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'blobuploadcleanupworker.py', 'pid': '50'} gcworker stdout | 2025-09-26 08:40:24,191 [57] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'gcworker.py', 'pid': '57'} queuecleanupworker stdout | 2025-09-26 08:40:24,306 [71] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'queuecleanupworker.py', 'pid': '71'} securityscanningnotificationworker stdout | 2025-09-26 08:40:24,610 [88] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityscanningnotificationworker.py', 'pid': '88'} chunkcleanupworker stdout | 2025-09-26 08:40:24,906 [53] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'chunkcleanupworker.py', 'pid': '53'} repositorygcworker stdout | 2025-09-26 08:40:25,623 [86] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositorygcworker.py', 'pid': '86'} gunicorn-web stdout | 2025-09-26 08:40:25,779 [239] [DEBUG] [app] Starting request: urn:request:c8564379-23df-4c79-8ad7-e70a683ff2f7 (/superuser/) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:40:25,781 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-secscan stdout | 2025-09-26 08:40:25,781 [227] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '227'} gunicorn-web stdout | 2025-09-26 08:40:25,784 [239] [DEBUG] [app] Ending request: urn:request:c8564379-23df-4c79-8ad7-e70a683ff2f7 (/superuser/) {'endpoint': 'web.superuser', 'request_id': 'urn:request:c8564379-23df-4c79-8ad7-e70a683ff2f7', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations', 'path': '/superuser/', 'parameters': {'tab': 'organizations'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:40:25,785 [239] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:40:25 +0000] "GET /superuser/?tab=organizations HTTP/1.0" 200 91952 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:25 +0000] "GET /superuser/?tab=organizations HTTP/1.1" 200 14100 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.006 2457 0.007) gunicorn-secscan stdout | 2025-09-26 08:40:25,788 [228] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '228'} gunicorn-secscan stdout | 2025-09-26 08:40:25,794 [60] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '60'} gunicorn-secscan stdout | 2025-09-26 08:40:26,000 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:40:25 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:26 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.000 961 0.001) namespacegcworker stdout | 2025-09-26 08:40:26,012 [66] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'namespacegcworker.py', 'pid': '66'} nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:26 +0000] "GET /static/ldn/font-awesome.css-a166e3c966c6.css HTTP/1.1" 200 8417 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2297 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:26 +0000] "GET /static/ldn/bootstrap.min.css-13f668494557.css HTTP/1.1" 200 24440 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2298 -) notificationworker stdout | 2025-09-26 08:40:26,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:40:26,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:34.441526+00:00 (in 8.000612 seconds) notificationworker stdout | 2025-09-26 08:40:26,441 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:36 GMT)" (scheduled at 2025-09-26 08:40:26.440077+00:00) notificationworker stdout | 2025-09-26 08:40:26,441 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:40:26,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 40, 26, 441163), True, datetime.datetime(2025, 9, 26, 8, 40, 26, 441163), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:40:26,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:40:26,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:40:26,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:36 GMT)" executed successfully repositoryactioncounter stdout | 2025-09-26 08:40:26,507 [80] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositoryactioncounter.py', 'pid': '80'} expiredappspecifictokenworker stdout | 2025-09-26 08:40:26,607 [55] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'expiredappspecifictokenworker.py', 'pid': '55'} gunicorn-web stdout | 2025-09-26 08:40:26,662 [240] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '240'} gunicorn-web stdout | 2025-09-26 08:40:26,688 [239] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '239'} nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:26 +0000] "GET /static/ldn/cssfamilySourceSansPro300400700-30cd793a4b9b.css HTTP/1.1" 200 236 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2312 -) gunicorn-web stdout | 2025-09-26 08:40:26,761 [242] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '242'} gunicorn-web stdout | 2025-09-26 08:40:26,768 [241] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '241'} gunicorn-web stdout | 2025-09-26 08:40:26,772 [61] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '61'} builder stdout | 2025-09-26 08:40:26,915 [51] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'builder.py', 'pid': '51'} nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:26 +0000] "GET /static/ldn/bootstrap-datetimepicker.min.css-4b15a4ede750.css HTTP/1.1" 200 1482 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2313 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:27 +0000] "GET /static/ldn/cal-heatmap.css-904c3b9e8a60.css HTTP/1.1" 200 799 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2296 -) securityworker stdout | 2025-09-26 08:40:27,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:40:27,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:49.334273+00:00 (in 21.998333 seconds) securityworker stdout | 2025-09-26 08:40:27,336 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:57 GMT)" (scheduled at 2025-09-26 08:40:27.335452+00:00) securityworker stdout | 2025-09-26 08:40:27,336 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:40:27,336 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:27 +0000] "GET /static/ldn/ng-tags-input.min.css-7782190f81cd.css HTTP/1.1" 200 1079 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2302 -) securityworker stdout | 2025-09-26 08:40:27,339 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:40:27,342 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:40:27,354 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:40:27,354 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:40:27,354 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:40:27,354 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:40:27,355 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 36]) securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:40:27,359 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:40:27,359 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:40:27,359 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:40:27,359 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:40:27,359 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:40:27,359 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:40:27,359 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:40:27,359 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:40:27,359 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:40:27,360 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:40:27,360 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:40:27,360 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 35, 27, 341757), 1, 36]) securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:40:27,363 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:40:27,363 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:40:27,363 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:40:27,363 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:40:27,364 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:40:27,364 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:40:27,364 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:40:27,364 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:40:27,364 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:40:27,364 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:40:27,364 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:40:27,365 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 35, 27, 341757), 1, 36]) securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:40:27,368 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:40:27,368 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:40:27,368 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:40:27,368 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:40:27,368 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:40:27,368 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:40:27,368 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:40:27,368 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:40:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:40:27,369 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:40:57 GMT)" executed successfully nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:27 +0000] "GET /static/ldn/angular.min.js-8c21e8f36c0e.js HTTP/1.1" 200 67557 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2280 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:27 +0000] "GET /static/ldn/angular-route.min.js-4245c439070d.js HTTP/1.1" 200 2702 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2286 -) notificationworker stdout | 2025-09-26 08:40:27,812 [68] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'notificationworker.py', 'pid': '68'} nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:27 +0000] "GET /static/ldn/angular-cookies.min.js-d418ab53e9d7.js HTTP/1.1" 200 846 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2288 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:27 +0000] "GET /static/ldn/moment.min.js-95505f39902e.js HTTP/1.1" 200 22167 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2279 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:28 +0000] "GET /static/ldn/bootstrap-datepicker.min.js-3e3d8e141d5e.js HTTP/1.1" 200 9323 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2293 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:28 +0000] "GET /static/ldn/bootstrap-datetimepicker.min.js-6612bb423b71.js HTTP/1.1" 200 10832 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2297 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:28 +0000] "GET /static/ldn/bootbox4.1.0underscorejs1.5.2restangular1.2.0d3js3.3.3-6d47ddfef9c5.js HTTP/1.1" 200 71199 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2320 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:28 +0000] "GET /static/ldn/raven.min.js-ecd480647a39.js HTTP/1.1" 200 9505 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2278 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:28 +0000] "GET /static/ldn/cal-heatmap.min.js-8ffad728269a.js HTTP/1.1" 200 13004 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2284 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:28 +0000] "GET /static/ldn/angular-recaptcha.min.js-23859fca3602.js HTTP/1.1" 200 1793 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2290 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:28 +0000] "GET /static/build/main-quay-frontend-646853b3bd4264fd033e.bundle.js HTTP/1.1" 200 730967 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2301 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:28 +0000] "GET /static/standalonelib/jquery.overscroll.min.js HTTP/1.1" 200 3491 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2284 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:28 +0000] "GET /static/ldn/jquery.js-3c5c5966471e.js HTTP/1.1" 200 102811 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2275 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:29 +0000] "GET /static/ldn/bootstrap.min.js-0e773844b374.js HTTP/1.1" 200 11303 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2282 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:29 +0000] "GET /static/ldn/angular-sanitize.min.js-c4e272d90cfb.js HTTP/1.1" 200 3295 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2289 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:29 +0000] "GET /static/ldn/angular-animate.min.js-88cbe10f92f2.js HTTP/1.1" 200 10421 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2288 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:29 +0000] "GET /static/ldn/typeahead.bundle.min.js-716151ca4e5d.js HTTP/1.1" 200 16673 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2289 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:29 +0000] "GET /static/ldn/ng-tags-input.min.js-fa3026ba8409.js HTTP/1.1" 200 6102 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2286 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:29 +0000] "GET /static/img/RedHat.svg HTTP/1.1" 200 1245 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2320 -) globalpromstats stdout | 2025-09-26 08:40:30,199 [58] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'globalpromstats.py', 'pid': '58'} nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:30 +0000] "GET /static/build/83-quay-frontend.chunk.js HTTP/1.1" 200 1717 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2277 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:30 +0000] "GET /static/build/135-quay-frontend.chunk.js HTTP/1.1" 200 975 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2278 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:30 +0000] "GET /static/build/18-quay-frontend.chunk.js HTTP/1.1" 200 997 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2277 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:30 +0000] "GET /static/build/152-quay-frontend.chunk.js HTTP/1.1" 200 313 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2278 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:30 +0000] "GET /static/build/181-quay-frontend.chunk.js HTTP/1.1" 200 952 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2278 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:30 +0000] "GET /static/build/112-quay-frontend.chunk.js HTTP/1.1" 200 767 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2278 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:31 +0000] "GET /static/img/network-tile.png HTTP/1.1" 200 6289 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2326 -) gunicorn-web stdout | 2025-09-26 08:40:31,070 [242] [DEBUG] [app] Starting request: urn:request:5091b4ff-d975-4dc0-8013-671c09b46485 (/api/v1/user/) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:40:31,070 [242] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,070 [242] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,071 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,083 [242] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:40:31,084 [242] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:40:31,084 [242] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,084 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,084 [242] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,084 [242] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,084 [242] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,085 [242] [DEBUG] [peewee] ('SELECT DISTINCT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" INNER JOIN "team" AS "t2" ON ("t2"."organization_id" = "t1"."id") INNER JOIN "teammember" AS "t3" ON ("t3"."team_id" = "t2"."id") INNER JOIN "user" AS "t4" ON ("t4"."id" = "t3"."user_id") WHERE (("t1"."organization" = %s) AND ("t4"."username" = %s))', [True, 'quay']) gunicorn-web stdout | 2025-09-26 08:40:31,086 [241] [DEBUG] [app] Starting request: urn:request:cccb346e-8bd2-427f-a2aa-60a85e9841f9 (/api/v1/superuser/registrysize/) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:40:31,086 [240] [DEBUG] [app] Starting request: urn:request:2049931b-74db-43a4-bd48-6cda944a8c84 (/api/v1/messages) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:40:31,086 [239] [DEBUG] [app] Starting request: urn:request:b321c60c-28fd-4c56-b799-cb5357221acc (/api/v1/superuser/registrystatus) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:40:31,086 [241] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,086 [240] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,086 [241] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,086 [240] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,087 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,087 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,087 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,087 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,087 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,090 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,091 [242] [DEBUG] [peewee] ('SELECT "t1"."service_ident", "t2"."name", "t1"."metadata_json" FROM "federatedlogin" AS "t1" INNER JOIN "loginservice" AS "t2" ON ("t1"."service_id" = "t2"."id") WHERE (("t2"."name" != %s) AND ("t1"."user_id" = %s))', ['quayrobot', 1]) gunicorn-web stdout | 2025-09-26 08:40:31,096 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."user_id", "t1"."kind_id" FROM "userprompt" AS "t1" INNER JOIN "userpromptkind" AS "t2" ON ("t1"."kind_id" = "t2"."id") WHERE ("t1"."user_id" = %s)', [1]) gunicorn-web stdout | 2025-09-26 08:40:31,099 [241] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:40:31,100 [241] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:40:31,100 [241] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,100 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:40:31,100 [240] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:40:31,100 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:40:31,100 [241] [DEBUG] [endpoints.api] Checking fresh login for user quay: Last login at 2025-09-26 08:37:21+00:00 gunicorn-web stdout | 2025-09-26 08:40:31,100 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,100 [240] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:40:31,100 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,100 [240] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,100 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['quay', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,100 [241] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,100 [241] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,100 [241] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,100 [241] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:40:31,101 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."size_bytes", "t1"."running", "t1"."queued", "t1"."completed_ms" FROM "quotaregistrysize" AS "t1" LIMIT %s OFFSET %s', [1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,101 [239] [DEBUG] [app] Ending request: urn:request:b321c60c-28fd-4c56-b799-cb5357221acc (/api/v1/superuser/registrystatus) {'endpoint': 'api.superuserregistrystatus', 'request_id': 'urn:request:b321c60c-28fd-4c56-b799-cb5357221acc', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/registrystatus', 'path': '/api/v1/superuser/registrystatus', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:40:31,101 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."content", "t1"."uuid", "t1"."severity", "t1"."media_type_id", "t2"."id", "t2"."name" FROM "messages" AS "t1" INNER JOIN "mediatype" AS "t2" ON ("t1"."media_type_id" = "t2"."id")', []) gunicorn-web stdout | 2025-09-26 08:40:31,102 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:40:31,102 [239] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/superuser/registrystatus HTTP/1.0" 200 42 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/superuser/registrystatus HTTP/1.1" 200 42 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.018 2410 0.017) gunicorn-web stdout | 2025-09-26 08:40:31,103 [239] [DEBUG] [app] Starting request: urn:request:7547959d-46a4-47d9-9d92-3754906cc8dd (/api/v1/superuser/organizations/) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:40:31,104 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-web stdout | 2025-09-26 08:40:31,104 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,104 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,104 [241] [DEBUG] [app] Ending request: urn:request:cccb346e-8bd2-427f-a2aa-60a85e9841f9 (/api/v1/superuser/registrysize/) {'endpoint': 'api.superuserregistrysize', 'request_id': 'urn:request:cccb346e-8bd2-427f-a2aa-60a85e9841f9', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/registrysize/', 'path': '/api/v1/superuser/registrysize/', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:40:31,105 [241] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:40:31,105 [240] [DEBUG] [app] Ending request: urn:request:2049931b-74db-43a4-bd48-6cda944a8c84 (/api/v1/messages) {'endpoint': 'api.globalusermessages', 'request_id': 'urn:request:2049931b-74db-43a4-bd48-6cda944a8c84', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/messages', 'path': '/api/v1/messages', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:40:31,105 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/superuser/registrysize/ HTTP/1.1" 200 70 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.020 2409 0.020) gunicorn-web stdout | 2025-09-26 08:40:31,105 [240] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:40:31,105 [241] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/superuser/registrysize/ HTTP/1.0" 200 70 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:40:31,106 [240] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/messages HTTP/1.0" 200 17 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/messages HTTP/1.1" 200 17 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.021 2394 0.021) gunicorn-web stdout | 2025-09-26 08:40:31,108 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quay', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,111 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-web stdout | 2025-09-26 08:40:31,115 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,116 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:40:31,116 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:40:31,116 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,116 [239] [DEBUG] [endpoints.api] Checking fresh login for user quay: Last login at 2025-09-26 08:37:21+00:00 gunicorn-web stdout | 2025-09-26 08:40:31,116 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,116 [239] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,116 [239] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,116 [239] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,116 [239] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:40:31,117 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ((("t1"."organization" = %s) AND ("t1"."robot" = %s)) AND ("t1"."id" NOT IN (SELECT "t2"."namespace_id" FROM "deletednamespace" AS "t2"))) ORDER BY "t1"."id" LIMIT %s', [True, False, 51]) gunicorn-web stdout | 2025-09-26 08:40:31,118 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,118 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,120 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-web stdout | 2025-09-26 08:40:31,122 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-web stdout | 2025-09-26 08:40:31,126 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-web stdout | 2025-09-26 08:40:31,128 [242] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,128 [242] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,128 [242] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,128 [242] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,128 [242] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,128 [242] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,129 [242] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,129 [242] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,129 [242] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg2', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,129 [242] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:40:31,129 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,129 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,129 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,129 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,129 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,129 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,129 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,129 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-web stdout | 2025-09-26 08:40:31,130 [242] [DEBUG] [app] Ending request: urn:request:5091b4ff-d975-4dc0-8013-671c09b46485 (/api/v1/user/) {'endpoint': 'api.user', 'request_id': 'urn:request:5091b4ff-d975-4dc0-8013-671c09b46485', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/user/', 'path': '/api/v1/user/', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:40:31,130 [242] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/user/ HTTP/1.1" 200 1484 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.061 2391 0.062) gunicorn-web stdout | 2025-09-26 08:40:31,131 [242] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/user/ HTTP/1.0" 200 1484 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:40:31,133 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,137 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-web stdout | 2025-09-26 08:40:31,140 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,144 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,147 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-web stdout | 2025-09-26 08:40:31,150 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,154 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,157 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-web stdout | 2025-09-26 08:40:31,160 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,163 [239] [DEBUG] [app] Ending request: urn:request:7547959d-46a4-47d9-9d92-3754906cc8dd (/api/v1/superuser/organizations/) {'endpoint': 'api.superuserorganizationlist', 'request_id': 'urn:request:7547959d-46a4-47d9-9d92-3754906cc8dd', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/organizations/?limit=50', 'path': '/api/v1/superuser/organizations/', 'parameters': {'limit': '50'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:40:31,164 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:40:31,165 [239] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/superuser/organizations/?limit=50 HTTP/1.0" 200 1047 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/superuser/organizations/?limit=50 HTTP/1.1" 200 1047 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.078 2419 0.078) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:31 +0000] "GET /static/img/RH_Logo_Quay_Black_UX-horizontal.svg HTTP/1.1" 200 3222 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2346 -) gunicorn-web stdout | 2025-09-26 08:40:31,451 [240] [DEBUG] [app] Starting request: urn:request:dbe21131-b839-4852-864d-5bb92bc1cade (/api/v1/superuser/users/) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:40:31,451 [240] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,451 [240] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,452 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,465 [240] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:40:31,466 [240] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:40:31,466 [240] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,466 [240] [DEBUG] [endpoints.api] Checking fresh login for user quay: Last login at 2025-09-26 08:37:21+00:00 gunicorn-web stdout | 2025-09-26 08:40:31,466 [240] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,466 [240] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,466 [240] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,466 [240] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,466 [240] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:40:31,467 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ((("t1"."organization" = %s) AND ("t1"."robot" = %s)) AND ("t1"."id" NOT IN (SELECT "t2"."namespace_id" FROM "deletednamespace" AS "t2"))) ORDER BY "t1"."id" LIMIT %s', [False, False, 51]) gunicorn-web stdout | 2025-09-26 08:40:31,472 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-web stdout | 2025-09-26 08:40:31,477 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quay', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,480 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-web stdout | 2025-09-26 08:40:31,483 [242] [DEBUG] [app] Starting request: urn:request:cc2313bf-e6c2-4298-9ac0-0e453f518a88 (/api/v1/user/notifications) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:40:31,483 [242] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,482 [239] [DEBUG] [app] Starting request: urn:request:79e0781d-417e-4757-9f05-34fd9c1d4841 (/api/v1/user/apptoken) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:40:31,483 [242] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,483 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,483 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,484 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,484 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,484 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,488 [240] [DEBUG] [app] Ending request: urn:request:dbe21131-b839-4852-864d-5bb92bc1cade (/api/v1/superuser/users/) {'endpoint': 'api.superuserlist', 'request_id': 'urn:request:dbe21131-b839-4852-864d-5bb92bc1cade', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/users/?limit=50', 'path': '/api/v1/superuser/users/', 'parameters': {'limit': '50'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:40:31,489 [240] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/superuser/users/?limit=50 HTTP/1.1" 200 424 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.041 2411 0.041) gunicorn-web stdout | 2025-09-26 08:40:31,490 [240] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/superuser/users/?limit=50 HTTP/1.0" 200 424 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:40:31,496 [242] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:40:31,496 [242] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:40:31,496 [242] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,496 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:40:31,496 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:40:31,496 [242] [DEBUG] [endpoints.api] Checking permission for user quay gunicorn-web stdout | 2025-09-26 08:40:31,496 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,496 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,496 [242] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,496 [242] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,496 [242] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,496 [239] [DEBUG] [endpoints.api] Checking permission for user quay gunicorn-web stdout | 2025-09-26 08:40:31,497 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,497 [239] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,497 [239] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,497 [239] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,497 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."user_id", "t1"."uuid", "t1"."title", "t1"."token_name", "t1"."token_secret", "t1"."created", "t1"."expiration", "t1"."last_accessed" FROM "appspecificauthtoken" AS "t1" WHERE ((("t1"."user_id" = %s) AND ("t1"."expiration" <= %s)) AND ("t1"."expiration" > %s))', [1, datetime.datetime(2025, 9, 29, 3, 52, 31, 497287), datetime.datetime(2025, 9, 26, 8, 40, 31, 497351)]) gunicorn-web stdout | 2025-09-26 08:40:31,498 [242] [DEBUG] [peewee] ('(SELECT "t1"."id", "t1"."uuid", "t1"."kind_id", "t1"."metadata_json", "t1"."dismissed", "t1"."lookup_path", "t1"."created", "t1"."created" AS "cd", "t1"."target_id" FROM "notification" AS "t1" INNER JOIN "notificationkind" AS "t2" ON ("t1"."kind_id" = "t2"."id") WHERE (("t1"."dismissed" = %s) AND ("t1"."target_id" = %s))) UNION (SELECT "t3"."id", "t3"."uuid", "t3"."kind_id", "t3"."metadata_json", "t3"."dismissed", "t3"."lookup_path", "t3"."created", "t3"."created" AS "cd", "t3"."target_id" FROM "notification" AS "t3" INNER JOIN "notificationkind" AS "t4" ON ("t3"."kind_id" = "t4"."id") INNER JOIN "user" AS "t5" ON ("t5"."id" = "t3"."target_id") INNER JOIN "team" AS "t6" ON ("t5"."id" = "t6"."organization_id") INNER JOIN "teamrole" AS "t7" ON ("t6"."role_id" = "t7"."id") INNER JOIN "teammember" AS "t8" ON ("t6"."id" = "t8"."team_id") INNER JOIN "user" AS "t9" ON ("t8"."user_id" = "t9"."id") WHERE (("t3"."dismissed" = %s) AND (("t9"."id" = %s) AND ("t7"."name" = %s)))) ORDER BY cd desc LIMIT %s', [False, 1, False, 1, 'admin', 6]) gunicorn-web stdout | 2025-09-26 08:40:31,502 [239] [DEBUG] [app] Ending request: urn:request:79e0781d-417e-4757-9f05-34fd9c1d4841 (/api/v1/user/apptoken) {'endpoint': 'api.apptokens', 'request_id': 'urn:request:79e0781d-417e-4757-9f05-34fd9c1d4841', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/user/apptoken?expiring=true', 'path': '/api/v1/user/apptoken', 'parameters': {'expiring': 'true'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:40:31,503 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/user/apptoken?expiring=true HTTP/1.1" 200 38 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.022 2413 0.022) gunicorn-web stdout | 2025-09-26 08:40:31,503 [239] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/user/apptoken?expiring=true HTTP/1.0" 200 38 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:40:31,505 [242] [DEBUG] [app] Ending request: urn:request:cc2313bf-e6c2-4298-9ac0-0e453f518a88 (/api/v1/user/notifications) {'endpoint': 'api.usernotificationlist', 'request_id': 'urn:request:cc2313bf-e6c2-4298-9ac0-0e453f518a88', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/user/notifications', 'path': '/api/v1/user/notifications', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:40:31,506 [242] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/user/notifications HTTP/1.1" 200 43 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.025 2404 0.025) gunicorn-web stdout | 2025-09-26 08:40:31,507 [242] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/user/notifications HTTP/1.0" 200 43 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:40:31,520 [242] [DEBUG] [app] Starting request: urn:request:9f0b788c-f905-4805-8a9c-5bf77bfd69ea (/api/v1/organization/testorg2/quota) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:40:31,520 [239] [DEBUG] [app] Starting request: urn:request:244e9f14-3364-4fe9-9936-0bd01b416286 (/api/v1/organization/testorg/quota) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:40:31,520 [242] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,520 [242] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,520 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,520 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,521 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,521 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,533 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:40:31,533 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:40:31,533 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,534 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,534 [242] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:40:31,534 [239] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,534 [239] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,534 [239] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,534 [242] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:40:31,534 [242] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,534 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,534 [242] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,534 [242] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,534 [242] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,536 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-web stdout | 2025-09-26 08:40:31,536 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-web stdout | 2025-09-26 08:40:31,541 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,541 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,541 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,541 [242] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,541 [242] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,541 [242] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,542 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,542 [242] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,542 [242] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,542 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,542 [242] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,542 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,542 [242] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,542 [242] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,542 [242] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg2', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,542 [242] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:40:31,542 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,542 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,542 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg2', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,542 [239] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:40:31,543 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."organization" = %s) AND ("t1"."username" = %s)) LIMIT %s OFFSET %s', [True, 'testorg2', 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,543 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."organization" = %s) AND ("t1"."username" = %s)) LIMIT %s OFFSET %s', [True, 'testorg', 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,547 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-web stdout | 2025-09-26 08:40:31,547 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-web stdout | 2025-09-26 08:40:31,550 [239] [DEBUG] [app] Ending request: urn:request:244e9f14-3364-4fe9-9936-0bd01b416286 (/api/v1/organization/testorg/quota) {'endpoint': 'api.organizationquotalist', 'request_id': 'urn:request:244e9f14-3364-4fe9-9936-0bd01b416286', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/organization/testorg/quota', 'path': '/api/v1/organization/testorg/quota', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:40:31,550 [242] [DEBUG] [app] Ending request: urn:request:9f0b788c-f905-4805-8a9c-5bf77bfd69ea (/api/v1/organization/testorg2/quota) {'endpoint': 'api.organizationquotalist', 'request_id': 'urn:request:9f0b788c-f905-4805-8a9c-5bf77bfd69ea', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/organization/testorg2/quota', 'path': '/api/v1/organization/testorg2/quota', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:40:31,551 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:40:31,551 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/organization/testorg2/quota HTTP/1.1" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.032 2413 0.033) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/organization/testorg/quota HTTP/1.1" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.033 2412 0.033) gunicorn-web stdout | 2025-09-26 08:40:31,552 [242] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/organization/testorg2/quota HTTP/1.0" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:40:31,552 [239] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/organization/testorg/quota HTTP/1.0" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:40:31,752 [240] [DEBUG] [app] Starting request: urn:request:33121b6f-0323-49d7-9a99-ccfe736bf671 (/api/v1/organization/quayorg/quota) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:40:31,753 [240] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,753 [240] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,753 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,766 [240] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:40:31,766 [240] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:40:31,766 [240] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,766 [240] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,766 [240] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,766 [240] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,766 [240] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,768 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-web stdout | 2025-09-26 08:40:31,773 [240] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,773 [240] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,774 [240] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,774 [240] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,774 [240] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,774 [240] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,774 [240] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,774 [240] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,774 [240] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg2', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,774 [240] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:40:31,775 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."organization" = %s) AND ("t1"."username" = %s)) LIMIT %s OFFSET %s', [True, 'quayorg', 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,778 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-web stdout | 2025-09-26 08:40:31,782 [240] [DEBUG] [app] Ending request: urn:request:33121b6f-0323-49d7-9a99-ccfe736bf671 (/api/v1/organization/quayorg/quota) {'endpoint': 'api.organizationquotalist', 'request_id': 'urn:request:33121b6f-0323-49d7-9a99-ccfe736bf671', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/organization/quayorg/quota', 'path': '/api/v1/organization/quayorg/quota', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:40:31,782 [240] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:40:31,783 [240] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/organization/quayorg/quota HTTP/1.0" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/organization/quayorg/quota HTTP/1.1" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.031 2412 0.032) gunicorn-web stdout | 2025-09-26 08:40:31,841 [242] [DEBUG] [app] Starting request: urn:request:27574e9d-9224-47ff-8d03-b31b0a040520 (/api/v1/superuser/users/quay/quota) {'X-Forwarded-For': '209.132.188.14, 10.129.4.11'} gunicorn-web stdout | 2025-09-26 08:40:31,841 [242] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,841 [242] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,841 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,854 [242] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:40:31,854 [242] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:40:31,854 [242] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,855 [242] [DEBUG] [endpoints.api] Checking fresh login for user quay: Last login at 2025-09-26 08:37:21+00:00 gunicorn-web stdout | 2025-09-26 08:40:31,855 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:40:31,855 [242] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,855 [242] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,855 [242] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:40:31,855 [242] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:40:31,856 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quay', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:40:31,860 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-web stdout | 2025-09-26 08:40:31,864 [242] [DEBUG] [app] Ending request: urn:request:27574e9d-9224-47ff-8d03-b31b0a040520 (/api/v1/superuser/users/quay/quota) {'endpoint': 'api.superuseruserquotalist', 'request_id': 'urn:request:27574e9d-9224-47ff-8d03-b31b0a040520', 'remote_addr': '10.129.4.11', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/users/quay/quota', 'path': '/api/v1/superuser/users/quay/quota', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:40:31,864 [242] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/superuser/users/quay/quota HTTP/1.1" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.026 2412 0.026) gunicorn-web stdout | 2025-09-26 08:40:31,865 [242] [INFO] [gunicorn.access] 10.129.4.11 - - [26/Sep/2025:08:40:31 +0000] "GET /api/v1/superuser/users/quay/quota HTTP/1.0" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:31 +0000] "GET /static/fonts/fontawesome-webfont.woff2?v=4.7.0 HTTP/1.1" 200 77160 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/static/ldn/font-awesome.css-a166e3c966c6.css" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2401 -) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:31 +0000] "GET /static/build/489e5e00e1a9a80f88d55281894a87ff.woff HTTP/1.1" 200 7280 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2389 -) gunicorn-web stdout | 2025-09-26 08:40:32,640 [239] [DEBUG] [app] Starting request: urn:request:7e140257-138e-45de-9683-10cc7cf12429 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:40:32,641 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:40:32,644 [250] [DEBUG] [app] Starting request: urn:request:8a12a462-d24f-4f42-8c3f-7409c3993740 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:40:32,644 [250] [DEBUG] [app] Ending request: urn:request:8a12a462-d24f-4f42-8c3f-7409c3993740 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:8a12a462-d24f-4f42-8c3f-7409c3993740', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:40:32,644 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:40:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:40:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.001) gunicorn-web stdout | 2025-09-26 08:40:32,645 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:40:32,646 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:40:32,648 [242] [DEBUG] [app] Starting request: urn:request:009d6ab0-69ff-4193-bef8-8ff36b67e688 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:40:32,649 [242] [DEBUG] [app] Ending request: urn:request:009d6ab0-69ff-4193-bef8-8ff36b67e688 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:009d6ab0-69ff-4193-bef8-8ff36b67e688', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:40:32,649 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:40:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:40:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:40:32,650 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:40:32,650 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:40:32,650 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:40:32,650 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:40:32,660 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:40:32,660 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:40:32,670 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:40:32,675 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:40:32,678 [239] [DEBUG] [app] Ending request: urn:request:7e140257-138e-45de-9683-10cc7cf12429 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:7e140257-138e-45de-9683-10cc7cf12429', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:40:32,678 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:40:32,679 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:40:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:40:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.040 118 0.040) gunicorn-web stdout | 2025-09-26 08:40:32,727 [239] [DEBUG] [app] Starting request: urn:request:b84c1db2-bf1a-4ed6-b3ac-424eb6e7b073 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:40:32,729 [256] [DEBUG] [app] Starting request: urn:request:e57a559c-a727-42f1-8e70-c5c1e8b85e0f (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:40:32,730 [256] [DEBUG] [app] Ending request: urn:request:e57a559c-a727-42f1-8e70-c5c1e8b85e0f (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:e57a559c-a727-42f1-8e70-c5c1e8b85e0f', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:40:32,730 [256] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:40:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:40:32,731 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:40:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.001) gunicorn-web stdout | 2025-09-26 08:40:32,731 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:40:32,735 [239] [DEBUG] [app] Starting request: urn:request:0f2de289-a033-4858-b41e-f2063ca0933b (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:40:32,736 [239] [DEBUG] [app] Ending request: urn:request:0f2de289-a033-4858-b41e-f2063ca0933b (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:0f2de289-a033-4858-b41e-f2063ca0933b', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:40:32,737 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:40:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:40:32,737 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:40:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.005 159 0.005) gunicorn-web stdout | 2025-09-26 08:40:32,737 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:40:32,737 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:40:32,737 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:40:32,745 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:40:32,745 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:32 +0000] "GET /static/img/quay_favicon.png HTTP/1.1" 200 3558 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2326 -) gunicorn-web stdout | 2025-09-26 08:40:32,755 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:40:32,759 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:40:32,763 [239] [DEBUG] [app] Ending request: urn:request:b84c1db2-bf1a-4ed6-b3ac-424eb6e7b073 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:b84c1db2-bf1a-4ed6-b3ac-424eb6e7b073', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:40:32,763 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:40:32,763 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:40:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:40:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.037 118 0.037) gunicorn-registry stdout | 2025-09-26 08:40:32,962 [252] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '252'} gunicorn-registry stdout | 2025-09-26 08:40:32,967 [257] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '257'} gunicorn-registry stdout | 2025-09-26 08:40:32,972 [59] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '59'} gunicorn-registry stdout | 2025-09-26 08:40:32,979 [254] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '254'} gunicorn-registry stdout | 2025-09-26 08:40:33,015 [253] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '253'} gunicorn-registry stdout | 2025-09-26 08:40:33,029 [255] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '255'} gunicorn-registry stdout | 2025-09-26 08:40:33,062 [256] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '256'} gunicorn-registry stdout | 2025-09-26 08:40:33,066 [251] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '251'} gunicorn-registry stdout | 2025-09-26 08:40:33,078 [250] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '250'} proxycacheblobworker stdout | 2025-09-26 08:40:33,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:40:33,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:43.545186+00:00 (in 9.999534 seconds) proxycacheblobworker stdout | 2025-09-26 08:40:33,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:43 GMT)" (scheduled at 2025-09-26 08:40:33.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:40:33,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:40:33,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 40, 33, 546093), True, datetime.datetime(2025, 9, 26, 8, 40, 33, 546093), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:40:33,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:40:33,559 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:40:33,559 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:43 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:40:33,714 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} gcworker stdout | 2025-09-26 08:40:34,439 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:40:34,439 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:51.444401+00:00 (in 17.004690 seconds) gcworker stdout | 2025-09-26 08:40:34,439 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:04 GMT)" (scheduled at 2025-09-26 08:40:34.439268+00:00) gcworker stdout | 2025-09-26 08:40:34,440 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:40:34,440 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:04 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:40:34,441 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:40:34,442 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:36.440077+00:00 (in 1.998088 seconds) notificationworker stdout | 2025-09-26 08:40:34,442 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:34 GMT)" (scheduled at 2025-09-26 08:40:34.441526+00:00) notificationworker stdout | 2025-09-26 08:40:34,442 [68] [DEBUG] [workers.queueworker] Running watchdog. notificationworker stdout | 2025-09-26 08:40:34,442 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:34 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:40:34,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:40:34,735 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:04.734534+00:00 (in 29.999535 seconds) autopruneworker stdout | 2025-09-26 08:40:34,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:04 GMT)" (scheduled at 2025-09-26 08:40:34.734534+00:00) autopruneworker stdout | 2025-09-26 08:40:34,744 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758872434743, None, 1, 0]) autopruneworker stdout | 2025-09-26 08:40:34,749 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:40:34,749 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:40:34,749 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:04 GMT)" executed successfully namespacegcworker stdout | 2025-09-26 08:40:34,841 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:40:34,841 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:58.835976+00:00 (in 23.994587 seconds) namespacegcworker stdout | 2025-09-26 08:40:34,841 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:34 GMT)" (scheduled at 2025-09-26 08:40:34.840898+00:00) namespacegcworker stdout | 2025-09-26 08:40:34,841 [66] [DEBUG] [workers.queueworker] Running watchdog. namespacegcworker stdout | 2025-09-26 08:40:34,841 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:34 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:40:36,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:40:36,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:46.440077+00:00 (in 9.999511 seconds) notificationworker stdout | 2025-09-26 08:40:36,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:46 GMT)" (scheduled at 2025-09-26 08:40:36.440077+00:00) notificationworker stdout | 2025-09-26 08:40:36,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:40:36,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 40, 36, 440824), True, datetime.datetime(2025, 9, 26, 8, 40, 36, 440824), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:40:36,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:40:36,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:40:36,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:46 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:40:37,015 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} repositorygcworker stdout | 2025-09-26 08:40:39,235 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:40:39,236 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:23.149141+00:00 (in 43.912976 seconds) repositorygcworker stdout | 2025-09-26 08:40:39,236 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:39 GMT)" (scheduled at 2025-09-26 08:40:39.235682+00:00) repositorygcworker stdout | 2025-09-26 08:40:39,236 [86] [DEBUG] [workers.queueworker] Running watchdog. repositorygcworker stdout | 2025-09-26 08:40:39,236 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:39 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:40:39,316 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} buildlogsarchiver stdout | 2025-09-26 08:40:39,351 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:40:39,352 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:09.351551+00:00 (in 29.999479 seconds) buildlogsarchiver stdout | 2025-09-26 08:40:39,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:09 GMT)" (scheduled at 2025-09-26 08:40:39.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:40:39,352 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 40, 39, 352380), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:40:39,366 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:40:39,366 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:40:39,366 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:09 GMT)" executed successfully manifestbackfillworker stdout | 2025-09-26 08:40:40,408 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} securityscanningnotificationworker stdout | 2025-09-26 08:40:42,242 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:40:42,243 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:56.244910+00:00 (in 14.001829 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:40:42,243 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:42 GMT)" (scheduled at 2025-09-26 08:40:42.242482+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:40:42,243 [88] [DEBUG] [workers.queueworker] Getting work item from queue. securityscanningnotificationworker stdout | 2025-09-26 08:40:42,244 [88] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 40, 42, 243435), True, datetime.datetime(2025, 9, 26, 8, 40, 42, 243435), 0, 'secscanv4/%', 50, 1, 0]) securityscanningnotificationworker stdout | 2025-09-26 08:40:42,277 [88] [DEBUG] [workers.queueworker] No more work. securityscanningnotificationworker stdout | 2025-09-26 08:40:42,277 [88] [DEBUG] [data.database] Disconnecting from database. securityscanningnotificationworker stdout | 2025-09-26 08:40:42,278 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:42 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:40:43,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:40:43,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:53.545186+00:00 (in 9.999513 seconds) proxycacheblobworker stdout | 2025-09-26 08:40:43,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:53 GMT)" (scheduled at 2025-09-26 08:40:43.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:40:43,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:40:43,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 40, 43, 546576), True, datetime.datetime(2025, 9, 26, 8, 40, 43, 546576), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:40:43,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:40:43,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:40:43,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:53 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:40:45,947 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:40:45,947 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:50.940190+00:00 (in 4.992372 seconds) exportactionlogsworker stdout | 2025-09-26 08:40:45,948 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:45 GMT)" (scheduled at 2025-09-26 08:40:45.946993+00:00) exportactionlogsworker stdout | 2025-09-26 08:40:45,948 [56] [DEBUG] [workers.queueworker] Running watchdog. exportactionlogsworker stdout | 2025-09-26 08:40:45,948 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:45 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:40:46,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:40:46,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:56.440077+00:00 (in 9.999545 seconds) notificationworker stdout | 2025-09-26 08:40:46,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:56 GMT)" (scheduled at 2025-09-26 08:40:46.440077+00:00) notificationworker stdout | 2025-09-26 08:40:46,441 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:40:46,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 40, 46, 441052), True, datetime.datetime(2025, 9, 26, 8, 40, 46, 441052), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:40:46,456 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:40:46,456 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:40:46,456 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:40:56 GMT)" executed successfully securityworker stdout | 2025-09-26 08:40:47,419 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} gunicorn-web stdout | 2025-09-26 08:40:47,639 [242] [DEBUG] [app] Starting request: urn:request:9844eb46-aa9a-4830-9a95-ad4caf66eeb1 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:40:47,640 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:40:47,643 [257] [DEBUG] [app] Starting request: urn:request:b1677f7e-d9af-4416-9d23-ec562e5724aa (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:40:47,643 [257] [DEBUG] [app] Ending request: urn:request:b1677f7e-d9af-4416-9d23-ec562e5724aa (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:b1677f7e-d9af-4416-9d23-ec562e5724aa', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:40:47,643 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:40:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:40:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:40:47,644 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:40:47,645 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:40:47,647 [242] [DEBUG] [app] Starting request: urn:request:de5f5c2e-5f83-47b9-a8ad-594a57d73101 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:40:47,647 [242] [DEBUG] [app] Ending request: urn:request:de5f5c2e-5f83-47b9-a8ad-594a57d73101 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:de5f5c2e-5f83-47b9-a8ad-594a57d73101', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:40:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.002) gunicorn-web stdout | 2025-09-26 08:40:47,647 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:40:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:40:47,648 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:40:47,649 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:40:47,649 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:40:47,649 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:40:47,657 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:40:47,657 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:40:47,668 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:40:47,672 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:40:47,675 [242] [DEBUG] [app] Ending request: urn:request:9844eb46-aa9a-4830-9a95-ad4caf66eeb1 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:9844eb46-aa9a-4830-9a95-ad4caf66eeb1', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:40:47,675 [242] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:40:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.037 118 0.038) gunicorn-web stdout | 2025-09-26 08:40:47,676 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:40:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" gunicorn-web stdout | 2025-09-26 08:40:47,728 [239] [DEBUG] [app] Starting request: urn:request:103a5a03-be35-4bb7-887c-84ffe074e0e0 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:40:47,729 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:40:47,731 [257] [DEBUG] [app] Starting request: urn:request:97aff3ab-4e81-4194-b6dd-76a40f1a2009 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:40:47,731 [257] [DEBUG] [app] Ending request: urn:request:97aff3ab-4e81-4194-b6dd-76a40f1a2009 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:97aff3ab-4e81-4194-b6dd-76a40f1a2009', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:40:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-registry stdout | 2025-09-26 08:40:47,732 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:40:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:40:47,732 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:40:47,733 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:40:47,734 [239] [DEBUG] [app] Starting request: urn:request:37723591-70aa-48ef-932f-6452af56589c (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:40:47,735 [239] [DEBUG] [app] Ending request: urn:request:37723591-70aa-48ef-932f-6452af56589c (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:37723591-70aa-48ef-932f-6452af56589c', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:40:47,735 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:40:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:40:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:40:47,735 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:40:47,735 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:40:47,736 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:40:47,736 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:40:47,744 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:40:47,744 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:40:47,754 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:40:47,757 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:40:47,760 [239] [DEBUG] [app] Ending request: urn:request:103a5a03-be35-4bb7-887c-84ffe074e0e0 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:103a5a03-be35-4bb7-887c-84ffe074e0e0', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:40:47,761 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:40:47,761 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:40:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:40:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.034 118 0.034) gunicorn-secscan stdout | 2025-09-26 08:40:48,871 [228] [INFO] [gunicorn.access] - - [26/Sep/2025:08:40:48 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:40:48 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 959 0.000) securityworker stdout | 2025-09-26 08:40:49,334 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:40:49,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:40:57.335452+00:00 (in 8.000305 seconds) securityworker stdout | 2025-09-26 08:40:49,335 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:19 GMT)" (scheduled at 2025-09-26 08:40:49.334273+00:00) securityworker stdout | 2025-09-26 08:40:49,335 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:40:49,335 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:40:49,338 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:40:49,339 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:40:49,352 [89] [DEBUG] [peewee] ('SELECT Min("t1"."id") FROM "manifest" AS "t1"', []) securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:40:49,356 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:40:49,356 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:40:49,356 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:40:49,356 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:40:49,357 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 8, 16]) securityworker stdout | 2025-09-26 08:40:49,361 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 8-16 by worker securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 8-16 by worker securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 8-16 securityworker stdout | 2025-09-26 08:40:49,361 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 8-16 securityworker stdout | 2025-09-26 08:40:49,361 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 8-16 securityworker stdout | 2025-09-26 08:40:49,361 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:40:49,361 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:40:49,361 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:40:49,361 [89] [DEBUG] [util.migrate.allocator] Left range 8-16 securityworker stdout | 2025-09-26 08:40:49,361 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 16-36 securityworker stdout | 2025-09-26 08:40:49,361 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 8-16 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Left range 8-16 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 16-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:40:49,362 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 23, 31]) securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 23-31 by worker securityworker stdout | 2025-09-26 08:40:49,365 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 23-31 by worker securityworker stdout | 2025-09-26 08:40:49,365 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 23-31 securityworker stdout | 2025-09-26 08:40:49,365 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 23-31 securityworker stdout | 2025-09-26 08:40:49,365 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stdout | 2025-09-26 08:40:49,365 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:40:49,365 [89] [DEBUG] [util.migrate.allocator] Selected random hole 2 with 3 total holes securityworker stdout | 2025-09-26 08:40:49,365 [89] [DEBUG] [util.migrate.allocator] Left range 8-16 securityworker stdout | 2025-09-26 08:40:49,365 [89] [DEBUG] [util.migrate.allocator] Right range 23-31 securityworker stdout | 2025-09-26 08:40:49,365 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 16-23 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 23-31 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 23-31 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 2 with 3 total holes securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Left range 8-16 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Right range 23-31 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 16-23 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 16 securityworker stdout | 2025-09-26 08:40:49,365 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 16 securityworker stdout | 2025-09-26 08:40:49,366 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 16, 24]) securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 16-24 by worker securityworker stdout | 2025-09-26 08:40:49,369 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 16-24 by worker securityworker stdout | 2025-09-26 08:40:49,369 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 16-24 securityworker stdout | 2025-09-26 08:40:49,369 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 8-16 securityworker stdout | 2025-09-26 08:40:49,369 [89] [DEBUG] [util.migrate.allocator] Already merged with block 8-16 securityworker stdout | 2025-09-26 08:40:49,369 [89] [DEBUG] [util.migrate.allocator] Merging with block 23-31 securityworker stdout | 2025-09-26 08:40:49,369 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stdout | 2025-09-26 08:40:49,369 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 8-31 securityworker stdout | 2025-09-26 08:40:49,369 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:40:49,370 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 16-24 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 8-16 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 8-16 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 23-31 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 8-31 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:40:49,370 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:40:49,370 [89] [DEBUG] [util.migrate.allocator] Right range 8-31 securityworker stdout | 2025-09-26 08:40:49,370 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-8 securityworker stdout | 2025-09-26 08:40:49,370 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Right range 8-31 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-8 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:40:49,370 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 9]) securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:40:49,374 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stdout | 2025-09-26 08:40:49,374 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:40:49,374 [89] [DEBUG] [util.migrate.allocator] Merging with block 8-31 securityworker stdout | 2025-09-26 08:40:49,374 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 31 securityworker stdout | 2025-09-26 08:40:49,374 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:40:49,374 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:40:49,374 [89] [DEBUG] [util.migrate.allocator] Total range: 31-36 securityworker stdout | 2025-09-26 08:40:49,374 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:40:49,374 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 31-36 securityworker stdout | 2025-09-26 08:40:49,374 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 31 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 8-31 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 31 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 31-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 31-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 31 securityworker stdout | 2025-09-26 08:40:49,375 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 31, 36]) securityworker stdout | 2025-09-26 08:40:49,378 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 31-36 by worker securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 31-36 by worker securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 31-36 securityworker stdout | 2025-09-26 08:40:49,378 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 31-36 securityworker stdout | 2025-09-26 08:40:49,378 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 31 securityworker stdout | 2025-09-26 08:40:49,378 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:40:49,378 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:40:49,378 [89] [DEBUG] [util.migrate.allocator] Total range: 36-31 securityworker stdout | 2025-09-26 08:40:49,378 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:40:49,378 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:40:49,378 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:40:49,378 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:40:49,378 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 31 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 36-31 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:40:49,379 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 35, 49, 339503), 1, 9]) securityworker stdout | 2025-09-26 08:40:49,382 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:40:49,382 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:40:49,382 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 9 securityworker stdout | 2025-09-26 08:40:49,382 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:40:49,382 [89] [DEBUG] [util.migrate.allocator] Total range: 9-36 securityworker stdout | 2025-09-26 08:40:49,382 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:40:49,382 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-36 securityworker stdout | 2025-09-26 08:40:49,382 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 9 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 9-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:40:49,383 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 35, 49, 339503), 13, 21]) securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 13-21 by worker securityworker stdout | 2025-09-26 08:40:49,386 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 13-21 by worker securityworker stdout | 2025-09-26 08:40:49,386 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 13-21 securityworker stdout | 2025-09-26 08:40:49,386 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 13-21 securityworker stdout | 2025-09-26 08:40:49,386 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:40:49,386 [89] [DEBUG] [util.migrate.allocator] Total range: 9-36 securityworker stdout | 2025-09-26 08:40:49,386 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:40:49,386 [89] [DEBUG] [util.migrate.allocator] Left range 13-21 securityworker stdout | 2025-09-26 08:40:49,386 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 21-36 securityworker stdout | 2025-09-26 08:40:49,386 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 13-21 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 13-21 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 9-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Left range 13-21 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 21-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:40:49,387 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 35, 49, 339503), 25, 33]) securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 25-33 by worker securityworker stdout | 2025-09-26 08:40:49,390 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 25-33 by worker securityworker stdout | 2025-09-26 08:40:49,390 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 25-33 securityworker stdout | 2025-09-26 08:40:49,390 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 25-33 securityworker stdout | 2025-09-26 08:40:49,390 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stdout | 2025-09-26 08:40:49,390 [89] [DEBUG] [util.migrate.allocator] Total range: 9-36 securityworker stdout | 2025-09-26 08:40:49,390 [89] [DEBUG] [util.migrate.allocator] Selected random hole 2 with 3 total holes securityworker stdout | 2025-09-26 08:40:49,390 [89] [DEBUG] [util.migrate.allocator] Left range 13-21 securityworker stdout | 2025-09-26 08:40:49,390 [89] [DEBUG] [util.migrate.allocator] Right range 25-33 securityworker stdout | 2025-09-26 08:40:49,390 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 21-25 securityworker stdout | 2025-09-26 08:40:49,390 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 21 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 25-33 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 25-33 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 9-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 2 with 3 total holes securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Left range 13-21 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Right range 25-33 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 21-25 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 21 securityworker stdout | 2025-09-26 08:40:49,391 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 35, 49, 339503), 21, 29]) securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 21-29 by worker securityworker stdout | 2025-09-26 08:40:49,394 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 21-29 by worker securityworker stdout | 2025-09-26 08:40:49,394 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 21-29 securityworker stdout | 2025-09-26 08:40:49,394 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 13-21 securityworker stdout | 2025-09-26 08:40:49,394 [89] [DEBUG] [util.migrate.allocator] Already merged with block 13-21 securityworker stdout | 2025-09-26 08:40:49,395 [89] [DEBUG] [util.migrate.allocator] Merging with block 25-33 securityworker stdout | 2025-09-26 08:40:49,395 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 21-29 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 13-21 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 13-21 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 25-33 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stdout | 2025-09-26 08:40:49,395 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 13-33 securityworker stdout | 2025-09-26 08:40:49,395 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:40:49,395 [89] [DEBUG] [util.migrate.allocator] Total range: 9-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 13-33 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 9-36 securityworker stdout | 2025-09-26 08:40:49,395 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:40:49,395 [89] [DEBUG] [util.migrate.allocator] Right range 13-33 securityworker stdout | 2025-09-26 08:40:49,395 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-13 securityworker stdout | 2025-09-26 08:40:49,395 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 9 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Right range 13-33 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 9-13 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 9 securityworker stdout | 2025-09-26 08:40:49,396 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 35, 49, 339503), 9, 17]) securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 9-17 by worker securityworker stdout | 2025-09-26 08:40:49,400 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 9-17 by worker securityworker stdout | 2025-09-26 08:40:49,400 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 9-17 securityworker stdout | 2025-09-26 08:40:49,400 [89] [DEBUG] [util.migrate.allocator] Merging with block 13-33 securityworker stdout | 2025-09-26 08:40:49,400 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 33 securityworker stdout | 2025-09-26 08:40:49,400 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 9-17 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 13-33 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 33 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:40:49,400 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:40:49,400 [89] [DEBUG] [util.migrate.allocator] Total range: 33-36 securityworker stdout | 2025-09-26 08:40:49,400 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:40:49,400 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 33-36 securityworker stdout | 2025-09-26 08:40:49,400 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 33 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 33-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 33-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 33 securityworker stdout | 2025-09-26 08:40:49,401 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 35, 49, 339503), 33, 36]) securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 33-36 by worker securityworker stdout | 2025-09-26 08:40:49,404 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 33-36 by worker securityworker stdout | 2025-09-26 08:40:49,405 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 33-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 33-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 33 securityworker stdout | 2025-09-26 08:40:49,405 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 33 securityworker stdout | 2025-09-26 08:40:49,405 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:40:49,405 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:40:49,405 [89] [DEBUG] [util.migrate.allocator] Total range: 36-33 securityworker stdout | 2025-09-26 08:40:49,405 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:40:49,405 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:40:49,405 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:40:49,405 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:40:49,405 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 36-33 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:40:49,406 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 35, 49, 339503), 19, 27]) securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 19-27 by worker securityworker stdout | 2025-09-26 08:40:49,409 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 19-27 by worker securityworker stdout | 2025-09-26 08:40:49,410 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 19-27 securityworker stdout | 2025-09-26 08:40:49,410 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 19-27 securityworker stdout | 2025-09-26 08:40:49,410 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:40:49,410 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:40:49,410 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:40:49,410 [89] [DEBUG] [util.migrate.allocator] Left range 19-27 securityworker stdout | 2025-09-26 08:40:49,410 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 27-36 securityworker stdout | 2025-09-26 08:40:49,410 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 19-27 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 19-27 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Left range 19-27 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 27-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:40:49,410 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 35, 49, 339503), 27, 35]) securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 27-35 by worker securityworker stdout | 2025-09-26 08:40:49,414 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 27-35 by worker securityworker stdout | 2025-09-26 08:40:49,414 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 27-35 securityworker stdout | 2025-09-26 08:40:49,414 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 19-27 securityworker stdout | 2025-09-26 08:40:49,414 [89] [DEBUG] [util.migrate.allocator] Already merged with block 19-27 securityworker stdout | 2025-09-26 08:40:49,414 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:40:49,414 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 19-35 securityworker stdout | 2025-09-26 08:40:49,414 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:40:49,414 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:40:49,414 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 27-35 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 19-27 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 19-27 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 19-35 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:40:49,414 [89] [DEBUG] [util.migrate.allocator] Left range 19-35 securityworker stdout | 2025-09-26 08:40:49,414 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 35-36 securityworker stdout | 2025-09-26 08:40:49,415 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 35 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Left range 19-35 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 35-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 35 securityworker stdout | 2025-09-26 08:40:49,415 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 35, 49, 339503), 35, 36]) securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 35-36 by worker securityworker stdout | 2025-09-26 08:40:49,418 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 35-36 by worker securityworker stdout | 2025-09-26 08:40:49,419 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 35-36 securityworker stdout | 2025-09-26 08:40:49,419 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 19-35 securityworker stdout | 2025-09-26 08:40:49,419 [89] [DEBUG] [util.migrate.allocator] Already merged with block 19-35 securityworker stdout | 2025-09-26 08:40:49,419 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 19 securityworker stdout | 2025-09-26 08:40:49,419 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:40:49,419 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:40:49,419 [89] [DEBUG] [util.migrate.allocator] Total range: 1-19 securityworker stdout | 2025-09-26 08:40:49,419 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:40:49,419 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-19 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 35-36 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 19-35 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 19-35 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 19 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-19 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-19 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 11 securityworker stdout | 2025-09-26 08:40:49,419 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 11 securityworker stdout | 2025-09-26 08:40:49,419 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 35, 49, 339503), 4, 12]) securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 4-12 by worker securityworker stdout | 2025-09-26 08:40:49,423 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 4-12 by worker securityworker stdout | 2025-09-26 08:40:49,423 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 4-12 securityworker stdout | 2025-09-26 08:40:49,423 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 4-12 securityworker stdout | 2025-09-26 08:40:49,423 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:40:49,423 [89] [DEBUG] [util.migrate.allocator] Total range: 1-19 securityworker stdout | 2025-09-26 08:40:49,423 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:40:49,423 [89] [DEBUG] [util.migrate.allocator] Left range 4-12 securityworker stdout | 2025-09-26 08:40:49,423 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 12-19 securityworker stdout | 2025-09-26 08:40:49,423 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 12 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 4-12 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 4-12 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-19 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Left range 4-12 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 12-19 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 12 securityworker stdout | 2025-09-26 08:40:49,424 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 35, 49, 339503), 12, 20]) securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 12-20 by worker securityworker stdout | 2025-09-26 08:40:49,427 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 12-20 by worker securityworker stdout | 2025-09-26 08:40:49,427 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 12-20 securityworker stdout | 2025-09-26 08:40:49,427 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 4-12 securityworker stdout | 2025-09-26 08:40:49,427 [89] [DEBUG] [util.migrate.allocator] Already merged with block 4-12 securityworker stdout | 2025-09-26 08:40:49,427 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 4 securityworker stdout | 2025-09-26 08:40:49,427 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:40:49,427 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:40:49,427 [89] [DEBUG] [util.migrate.allocator] Total range: 1-4 securityworker stdout | 2025-09-26 08:40:49,427 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 12-20 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 4-12 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 4-12 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 4 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-4 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-4 securityworker stdout | 2025-09-26 08:40:49,427 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-4 securityworker stdout | 2025-09-26 08:40:49,427 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:40:49,428 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 35, 49, 339503), 1, 9]) securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stdout | 2025-09-26 08:40:49,431 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stdout | 2025-09-26 08:40:49,431 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:40:49,431 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:40:49,431 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 9 securityworker stdout | 2025-09-26 08:40:49,432 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:40:49,432 [89] [DEBUG] [util.migrate.allocator] Total range: 9-1 securityworker stdout | 2025-09-26 08:40:49,432 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:40:49,432 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 9 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] Total range: 9-1 securityworker stderr | 2025-09-26 08:40:49 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:40:49,432 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:19 GMT)" executed successfully gunicorn-secscan stdout | 2025-09-26 08:40:49,775 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:40:49 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:40:49 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) logrotateworker stdout | 2025-09-26 08:40:50,450 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} exportactionlogsworker stdout | 2025-09-26 08:40:50,940 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:40:50,940 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:45.946993+00:00 (in 55.006115 seconds) exportactionlogsworker stdout | 2025-09-26 08:40:50,941 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:50 GMT)" (scheduled at 2025-09-26 08:40:50.940190+00:00) exportactionlogsworker stdout | 2025-09-26 08:40:50,941 [56] [DEBUG] [workers.queueworker] Getting work item from queue. exportactionlogsworker stdout | 2025-09-26 08:40:50,942 [56] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 40, 50, 941327), True, datetime.datetime(2025, 9, 26, 8, 40, 50, 941327), 0, 'exportactionlogs/%', 50, 1, 0]) exportactionlogsworker stdout | 2025-09-26 08:40:50,956 [56] [DEBUG] [workers.queueworker] No more work. exportactionlogsworker stdout | 2025-09-26 08:40:50,956 [56] [DEBUG] [data.database] Disconnecting from database. exportactionlogsworker stdout | 2025-09-26 08:40:50,956 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:50 GMT)" executed successfully gcworker stdout | 2025-09-26 08:40:51,444 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:40:51,444 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:04.439268+00:00 (in 12.994417 seconds) gcworker stdout | 2025-09-26 08:40:51,445 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:21 GMT)" (scheduled at 2025-09-26 08:40:51.444401+00:00) gcworker stdout | 2025-09-26 08:40:51,445 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) gcworker stdout | 2025-09-26 08:40:51,459 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875751458, None, 1, 0]) gcworker stdout | 2025-09-26 08:40:51,463 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:40:51,463 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:21 GMT)" executed successfully buildlogsarchiver stdout | 2025-09-26 08:40:51,520 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'} manifestsubjectbackfillworker stdout | 2025-09-26 08:40:52,231 [64] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestsubjectbackfillworker.py', 'pid': '64'} storagereplication stdout | 2025-09-26 08:40:53,278 [95] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'storagereplication.py', 'pid': '95'} proxycacheblobworker stdout | 2025-09-26 08:40:53,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:40:53,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:03.545186+00:00 (in 9.999523 seconds) proxycacheblobworker stdout | 2025-09-26 08:40:53,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:03 GMT)" (scheduled at 2025-09-26 08:40:53.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:40:53,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:40:53,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 40, 53, 546025), True, datetime.datetime(2025, 9, 26, 8, 40, 53, 546025), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:40:53,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:40:53,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:40:53,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:03 GMT)" executed successfully servicekey stdout | 2025-09-26 08:40:53,812 [93] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'servicekeyworker.py', 'pid': '93'} teamsyncworker stdout | 2025-09-26 08:40:53,816 [105] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'teamsyncworker.py', 'pid': '105'} blobuploadcleanupworker stdout | 2025-09-26 08:40:53,896 [50] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'blobuploadcleanupworker.py', 'pid': '50'} gcworker stdout | 2025-09-26 08:40:54,208 [57] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'gcworker.py', 'pid': '57'} queuecleanupworker stdout | 2025-09-26 08:40:54,322 [71] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'queuecleanupworker.py', 'pid': '71'} securityscanningnotificationworker stdout | 2025-09-26 08:40:54,627 [88] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityscanningnotificationworker.py', 'pid': '88'} chunkcleanupworker stdout | 2025-09-26 08:40:54,938 [53] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'chunkcleanupworker.py', 'pid': '53'} repositorygcworker stdout | 2025-09-26 08:40:55,641 [86] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositorygcworker.py', 'pid': '86'} gunicorn-secscan stdout | 2025-09-26 08:40:55,799 [227] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '227'} gunicorn-secscan stdout | 2025-09-26 08:40:55,808 [228] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '228'} gunicorn-secscan stdout | 2025-09-26 08:40:55,812 [60] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '60'} namespacegcworker stdout | 2025-09-26 08:40:56,030 [66] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'namespacegcworker.py', 'pid': '66'} securityscanningnotificationworker stdout | 2025-09-26 08:40:56,245 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:40:56,245 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:22.245238+00:00 (in 25.999857 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:40:56,245 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:45:56 GMT)" (scheduled at 2025-09-26 08:40:56.244910+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:40:56,246 [88] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [False, datetime.datetime(2025, 9, 26, 8, 40, 56, 245933), 'secscanv4/%']) securityscanningnotificationworker stdout | 2025-09-26 08:40:56,259 [88] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 40, 56, 245933), True, datetime.datetime(2025, 9, 26, 8, 40, 56, 245933), 0, 'secscanv4/%']) securityscanningnotificationworker stdout | 2025-09-26 08:40:56,263 [88] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) AND NOT ("t1"."queue_name" IN (SELECT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s)))))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 40, 56, 245933), True, datetime.datetime(2025, 9, 26, 8, 40, 56, 245933), 0, 'secscanv4/%', False, datetime.datetime(2025, 9, 26, 8, 40, 56, 245933), 'secscanv4/%']) securityscanningnotificationworker stdout | 2025-09-26 08:40:56,266 [88] [DEBUG] [data.database] Disconnecting from database. securityscanningnotificationworker stdout | 2025-09-26 08:40:56,266 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:45:56 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:40:56,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:40:56,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:06.440077+00:00 (in 9.999544 seconds) notificationworker stdout | 2025-09-26 08:40:56,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:06 GMT)" (scheduled at 2025-09-26 08:40:56.440077+00:00) notificationworker stdout | 2025-09-26 08:40:56,441 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:40:56,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 40, 56, 441066), True, datetime.datetime(2025, 9, 26, 8, 40, 56, 441066), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:40:56,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:40:56,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:40:56,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:06 GMT)" executed successfully repositoryactioncounter stdout | 2025-09-26 08:40:56,523 [80] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositoryactioncounter.py', 'pid': '80'} expiredappspecifictokenworker stdout | 2025-09-26 08:40:56,623 [55] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'expiredappspecifictokenworker.py', 'pid': '55'} gunicorn-web stdout | 2025-09-26 08:40:56,682 [240] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '240'} gunicorn-web stdout | 2025-09-26 08:40:56,708 [239] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '239'} gunicorn-web stdout | 2025-09-26 08:40:56,783 [242] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '242'} gunicorn-web stdout | 2025-09-26 08:40:56,789 [241] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '241'} gunicorn-web stdout | 2025-09-26 08:40:56,793 [61] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '61'} builder stdout | 2025-09-26 08:40:56,932 [51] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'builder.py', 'pid': '51'} securityworker stdout | 2025-09-26 08:40:57,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:40:57,336 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:19.334273+00:00 (in 21.998174 seconds) securityworker stdout | 2025-09-26 08:40:57,337 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:27 GMT)" (scheduled at 2025-09-26 08:40:57.335452+00:00) securityworker stdout | 2025-09-26 08:40:57,337 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:40:57,337 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:40:57,339 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:40:57,342 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:40:57,353 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:40:57,354 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:40:57,354 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:40:57,354 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:40:57,354 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 36]) securityworker stdout | 2025-09-26 08:40:57,358 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:40:57,358 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:40:57,358 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:40:57,358 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:40:57,358 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:40:57,358 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:40:57,358 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:40:57,358 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:40:57,358 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:40:57,358 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:40:57,358 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:40:57,359 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 35, 57, 341826), 1, 36]) securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:40:57,362 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:40:57,362 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:40:57,362 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:40:57,363 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:40:57,363 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:40:57,363 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:40:57,363 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:40:57,363 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:40:57,363 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:40:57,363 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:40:57,363 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:40:57,363 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 35, 57, 341826), 1, 36]) securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:40:57,367 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:40:57,367 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:40:57,367 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:40:57,367 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:40:57,367 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:40:57,367 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:40:57,367 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:40:57,367 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:40:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:40:57,367 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:27 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:40:57,830 [68] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'notificationworker.py', 'pid': '68'} namespacegcworker stdout | 2025-09-26 08:40:58,836 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:40:58,836 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:34.840898+00:00 (in 36.004495 seconds) namespacegcworker stdout | 2025-09-26 08:40:58,836 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:58 GMT)" (scheduled at 2025-09-26 08:40:58.835976+00:00) namespacegcworker stdout | 2025-09-26 08:40:58,836 [66] [DEBUG] [workers.queueworker] Getting work item from queue. namespacegcworker stdout | 2025-09-26 08:40:58,837 [66] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 40, 58, 836716), True, datetime.datetime(2025, 9, 26, 8, 40, 58, 836716), 0, 'namespacegc/%', 50, 1, 0]) namespacegcworker stdout | 2025-09-26 08:40:58,850 [66] [DEBUG] [workers.queueworker] No more work. namespacegcworker stdout | 2025-09-26 08:40:58,850 [66] [DEBUG] [data.database] Disconnecting from database. namespacegcworker stdout | 2025-09-26 08:40:58,850 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:41:58 GMT)" executed successfully globalpromstats stdout | 2025-09-26 08:41:00,215 [58] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'globalpromstats.py', 'pid': '58'} gunicorn-web stdout | 2025-09-26 08:41:02,640 [240] [DEBUG] [app] Starting request: urn:request:339619dc-9c71-4121-b277-4c4f87a7b50a (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:41:02,641 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:41:02,643 [250] [DEBUG] [app] Starting request: urn:request:0de02be2-e857-4002-a628-05a8ad62debf (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:41:02,644 [250] [DEBUG] [app] Ending request: urn:request:0de02be2-e857-4002-a628-05a8ad62debf (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:0de02be2-e857-4002-a628-05a8ad62debf', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:41:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-registry stdout | 2025-09-26 08:41:02,644 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:41:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:41:02,645 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:41:02,646 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:41:02,651 [240] [DEBUG] [app] Starting request: urn:request:7b224d27-fb13-42d9-944a-61d1470eb25c (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:41:02,652 [240] [DEBUG] [app] Ending request: urn:request:7b224d27-fb13-42d9-944a-61d1470eb25c (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:7b224d27-fb13-42d9-944a-61d1470eb25c', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:41:02,652 [240] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:41:02 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:41:02 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.005 159 0.005) gunicorn-web stdout | 2025-09-26 08:41:02,652 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:41:02,653 [240] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:41:02,653 [240] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:41:02,653 [240] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:41:02,661 [240] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:41:02,661 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:41:02,671 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:41:02,674 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:41:02,677 [240] [DEBUG] [app] Ending request: urn:request:339619dc-9c71-4121-b277-4c4f87a7b50a (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:339619dc-9c71-4121-b277-4c4f87a7b50a', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:41:02,677 [240] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:41:02,678 [240] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:41:02 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:41:02 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.038 118 0.039) gunicorn-web stdout | 2025-09-26 08:41:02,728 [239] [DEBUG] [app] Starting request: urn:request:1d207e77-1934-487a-bca2-9481ecf8d333 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:41:02,729 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:41:02,730 [257] [DEBUG] [app] Starting request: urn:request:bf533080-285d-4f28-a82c-4e40294703dd (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:41:02,731 [257] [DEBUG] [app] Ending request: urn:request:bf533080-285d-4f28-a82c-4e40294703dd (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:bf533080-285d-4f28-a82c-4e40294703dd', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:41:02,732 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:41:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:41:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:41:02,732 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:41:02,733 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:41:02,734 [242] [DEBUG] [app] Starting request: urn:request:e46c8eb8-2a8c-4145-a7fb-873dbda40ede (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:41:02,735 [242] [DEBUG] [app] Ending request: urn:request:e46c8eb8-2a8c-4145-a7fb-873dbda40ede (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:e46c8eb8-2a8c-4145-a7fb-873dbda40ede', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:41:02,735 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:41:02 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:41:02,735 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:41:02 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:41:02,736 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:41:02,736 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:41:02,736 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:41:02,745 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:41:02,745 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:41:02,755 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:41:02,759 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:41:02,763 [239] [DEBUG] [app] Ending request: urn:request:1d207e77-1934-487a-bca2-9481ecf8d333 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:1d207e77-1934-487a-bca2-9481ecf8d333', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:41:02,763 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:41:02,764 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:41:02 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:41:02 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.036 118 0.037) gunicorn-registry stdout | 2025-09-26 08:41:02,982 [252] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '252'} gunicorn-registry stdout | 2025-09-26 08:41:02,991 [257] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '257'} gunicorn-registry stdout | 2025-09-26 08:41:02,996 [59] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '59'} gunicorn-registry stdout | 2025-09-26 08:41:03,001 [254] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '254'} gunicorn-registry stdout | 2025-09-26 08:41:03,033 [253] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '253'} gunicorn-registry stdout | 2025-09-26 08:41:03,048 [255] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '255'} gunicorn-registry stdout | 2025-09-26 08:41:03,082 [256] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '256'} gunicorn-registry stdout | 2025-09-26 08:41:03,089 [251] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '251'} gunicorn-registry stdout | 2025-09-26 08:41:03,103 [250] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '250'} gunicorn-secscan stdout | 2025-09-26 08:41:03,528 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:41:03 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:41:03 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) proxycacheblobworker stdout | 2025-09-26 08:41:03,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:41:03,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:13.545186+00:00 (in 9.999590 seconds) proxycacheblobworker stdout | 2025-09-26 08:41:03,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:13 GMT)" (scheduled at 2025-09-26 08:41:03.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:41:03,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:41:03,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 41, 3, 545955), True, datetime.datetime(2025, 9, 26, 8, 41, 3, 545955), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:41:03,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:41:03,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:41:03,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:13 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:41:03,732 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} gcworker stdout | 2025-09-26 08:41:04,439 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:41:04,439 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:21.444401+00:00 (in 17.004669 seconds) gcworker stdout | 2025-09-26 08:41:04,439 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:34 GMT)" (scheduled at 2025-09-26 08:41:04.439268+00:00) gcworker stdout | 2025-09-26 08:41:04,440 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:41:04,440 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:34 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:41:04,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:41:04,735 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:34.734534+00:00 (in 29.999537 seconds) autopruneworker stdout | 2025-09-26 08:41:04,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:34 GMT)" (scheduled at 2025-09-26 08:41:04.734534+00:00) autopruneworker stdout | 2025-09-26 08:41:04,743 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758872464743, None, 1, 0]) autopruneworker stdout | 2025-09-26 08:41:04,748 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:41:04,749 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:41:04,749 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:34 GMT)" executed successfully gunicorn-secscan stdout | 2025-09-26 08:41:05,049 [228] [INFO] [gunicorn.access] - - [26/Sep/2025:08:41:05 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:41:05 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) notificationworker stdout | 2025-09-26 08:41:06,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:41:06,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:16.440077+00:00 (in 9.999514 seconds) notificationworker stdout | 2025-09-26 08:41:06,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:16 GMT)" (scheduled at 2025-09-26 08:41:06.440077+00:00) notificationworker stdout | 2025-09-26 08:41:06,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:41:06,456 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 41, 6, 440940), True, datetime.datetime(2025, 9, 26, 8, 41, 6, 440940), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:41:06,468 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:41:06,468 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:41:06,469 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:16 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:41:07,033 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} proxycacheblobworker stdout | 2025-09-26 08:41:09,332 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} buildlogsarchiver stdout | 2025-09-26 08:41:09,351 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:41:09,352 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:39.351551+00:00 (in 29.999523 seconds) buildlogsarchiver stdout | 2025-09-26 08:41:09,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:39 GMT)" (scheduled at 2025-09-26 08:41:09.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:41:09,353 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 41, 9, 352350), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:41:09,365 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:41:09,365 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:41:09,365 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:39 GMT)" executed successfully manifestbackfillworker stdout | 2025-09-26 08:41:10,426 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} proxycacheblobworker stdout | 2025-09-26 08:41:13,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:41:13,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:13.548017+00:00 (in 0.002385 seconds) proxycacheblobworker stdout | 2025-09-26 08:41:13,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:23 GMT)" (scheduled at 2025-09-26 08:41:13.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:41:13,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:41:13,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 41, 13, 545981), True, datetime.datetime(2025, 9, 26, 8, 41, 13, 545981), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:41:13,548 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:41:13,548 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:23.545186+00:00 (in 9.996864 seconds) proxycacheblobworker stdout | 2025-09-26 08:41:13,548 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:13 GMT)" (scheduled at 2025-09-26 08:41:13.548017+00:00) proxycacheblobworker stdout | 2025-09-26 08:41:13,548 [69] [DEBUG] [workers.queueworker] Running watchdog. proxycacheblobworker stdout | 2025-09-26 08:41:13,548 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:13 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:41:13,561 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:41:13,562 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:41:13,562 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:23 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:41:13,758 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:41:13,758 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:13.760217+00:00 (in 0.001856 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:41:13,758 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:13 GMT)" (scheduled at 2025-09-26 08:41:13.757911+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:41:13,759 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."subject_backfilled" = %s) OR ("t1"."subject_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:41:13,760 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:41:13,760 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:13.757911+00:00 (in 59.997348 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:41:13,760 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:13 GMT)" (scheduled at 2025-09-26 08:41:13.760217+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:41:13,761 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."artifact_type_backfilled" = %s) OR ("t1"."artifact_type_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:41:13,772 [64] [DEBUG] [__main__] Manifest subject backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:41:13,772 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:41:13,775 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:13 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:41:13,780 [64] [DEBUG] [__main__] Manifest artifact_type backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:41:13,780 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:41:13,780 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:13 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:41:16,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:41:16,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:26.440077+00:00 (in 9.999460 seconds) notificationworker stdout | 2025-09-26 08:41:16,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:26 GMT)" (scheduled at 2025-09-26 08:41:16.440077+00:00) notificationworker stdout | 2025-09-26 08:41:16,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:41:16,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 41, 16, 441000), True, datetime.datetime(2025, 9, 26, 8, 41, 16, 441000), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:41:16,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:41:16,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:41:16,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:26 GMT)" executed successfully securityworker stdout | 2025-09-26 08:41:17,437 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} gunicorn-web stdout | 2025-09-26 08:41:17,640 [242] [DEBUG] [app] Starting request: urn:request:796dc5fd-184a-4cfa-afe9-64ce2a7cb4bb (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:41:17,641 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:41:17,643 [256] [DEBUG] [app] Starting request: urn:request:6c2edfd8-0ba7-473b-b7ab-53c7a688c5c7 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:41:17,643 [256] [DEBUG] [app] Ending request: urn:request:6c2edfd8-0ba7-473b-b7ab-53c7a688c5c7 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:6c2edfd8-0ba7-473b-b7ab-53c7a688c5c7', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:41:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-registry stdout | 2025-09-26 08:41:17,644 [256] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:41:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:41:17,644 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:41:17,645 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:41:17,647 [242] [DEBUG] [app] Starting request: urn:request:5ebc596c-64f7-4c9e-914f-90fae39f8faf (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:41:17,647 [242] [DEBUG] [app] Ending request: urn:request:5ebc596c-64f7-4c9e-914f-90fae39f8faf (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:5ebc596c-64f7-4c9e-914f-90fae39f8faf', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:41:17,647 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:41:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:41:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:41:17,648 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:41:17,649 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:41:17,649 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:41:17,649 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:41:17,656 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:41:17,656 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:41:17,666 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:41:17,670 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:41:17,673 [242] [DEBUG] [app] Ending request: urn:request:796dc5fd-184a-4cfa-afe9-64ce2a7cb4bb (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:796dc5fd-184a-4cfa-afe9-64ce2a7cb4bb', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:41:17,674 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:41:17,674 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:41:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:41:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.035 118 0.035) gunicorn-web stdout | 2025-09-26 08:41:17,728 [239] [DEBUG] [app] Starting request: urn:request:1e27c143-2ff9-4568-90d6-0b82205ea657 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:41:17,729 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:41:17,731 [257] [DEBUG] [app] Starting request: urn:request:5de99afd-b6f8-4aa2-80e2-38a5762afe10 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:41:17,731 [257] [DEBUG] [app] Ending request: urn:request:5de99afd-b6f8-4aa2-80e2-38a5762afe10 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:5de99afd-b6f8-4aa2-80e2-38a5762afe10', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:41:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-registry stdout | 2025-09-26 08:41:17,732 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:41:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:41:17,732 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:41:17,733 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:41:17,734 [239] [DEBUG] [app] Starting request: urn:request:49aae20e-11e2-4029-8c26-c8a2dc35ea82 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:41:17,734 [239] [DEBUG] [app] Ending request: urn:request:49aae20e-11e2-4029-8c26-c8a2dc35ea82 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:49aae20e-11e2-4029-8c26-c8a2dc35ea82', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:41:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:41:17,735 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:41:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:41:17,735 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:41:17,735 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:41:17,736 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:41:17,736 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:41:17,743 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:41:17,743 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:41:17,754 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:41:17,758 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:41:17,762 [239] [DEBUG] [app] Ending request: urn:request:1e27c143-2ff9-4568-90d6-0b82205ea657 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:1e27c143-2ff9-4568-90d6-0b82205ea657', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:41:17,762 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:41:17,762 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:41:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:41:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.035 118 0.035) securityworker stdout | 2025-09-26 08:41:19,334 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:41:19,334 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:27.335452+00:00 (in 8.000714 seconds) securityworker stdout | 2025-09-26 08:41:19,334 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:49 GMT)" (scheduled at 2025-09-26 08:41:19.334273+00:00) securityworker stdout | 2025-09-26 08:41:19,335 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:41:19,335 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:41:19,338 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:41:19,340 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:41:19,351 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stdout | 2025-09-26 08:41:19,351 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:49 GMT)" executed successfully gunicorn-secscan stdout | 2025-09-26 08:41:20,133 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:41:20 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:41:20 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) logrotateworker stdout | 2025-09-26 08:41:20,466 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} gcworker stdout | 2025-09-26 08:41:21,444 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:41:21,444 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:34.439268+00:00 (in 12.994407 seconds) gcworker stdout | 2025-09-26 08:41:21,445 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:51 GMT)" (scheduled at 2025-09-26 08:41:21.444401+00:00) gcworker stdout | 2025-09-26 08:41:21,445 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) gcworker stdout | 2025-09-26 08:41:21,457 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875781456, None, 1, 0]) gcworker stdout | 2025-09-26 08:41:21,461 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:41:21,461 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:51 GMT)" executed successfully buildlogsarchiver stdout | 2025-09-26 08:41:21,538 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'} securityscanningnotificationworker stdout | 2025-09-26 08:41:22,245 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:41:22,245 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:42.242482+00:00 (in 19.996782 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:41:22,245 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:22 GMT)" (scheduled at 2025-09-26 08:41:22.245238+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:41:22,246 [88] [DEBUG] [workers.queueworker] Running watchdog. securityscanningnotificationworker stdout | 2025-09-26 08:41:22,246 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:22 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:41:22,248 [64] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestsubjectbackfillworker.py', 'pid': '64'} gunicorn-secscan stdout | 2025-09-26 08:41:22,802 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:41:22 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:41:22 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 959 0.001) repositorygcworker stdout | 2025-09-26 08:41:23,149 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:41:23,149 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:39.235682+00:00 (in 16.086091 seconds) repositorygcworker stdout | 2025-09-26 08:41:23,149 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:23 GMT)" (scheduled at 2025-09-26 08:41:23.149141+00:00) repositorygcworker stdout | 2025-09-26 08:41:23,150 [86] [DEBUG] [workers.queueworker] Getting work item from queue. repositorygcworker stdout | 2025-09-26 08:41:23,150 [86] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 41, 23, 150262), True, datetime.datetime(2025, 9, 26, 8, 41, 23, 150262), 0, 'repositorygc/%', 50, 1, 0]) repositorygcworker stdout | 2025-09-26 08:41:23,163 [86] [DEBUG] [workers.queueworker] No more work. repositorygcworker stdout | 2025-09-26 08:41:23,163 [86] [DEBUG] [data.database] Disconnecting from database. repositorygcworker stdout | 2025-09-26 08:41:23,163 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:23 GMT)" executed successfully storagereplication stdout | 2025-09-26 08:41:23,296 [95] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'storagereplication.py', 'pid': '95'} proxycacheblobworker stdout | 2025-09-26 08:41:23,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:41:23,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:33.545186+00:00 (in 9.999551 seconds) proxycacheblobworker stdout | 2025-09-26 08:41:23,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:33 GMT)" (scheduled at 2025-09-26 08:41:23.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:41:23,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:41:23,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 41, 23, 546010), True, datetime.datetime(2025, 9, 26, 8, 41, 23, 546010), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:41:23,558 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:41:23,558 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:41:23,559 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:33 GMT)" executed successfully servicekey stdout | 2025-09-26 08:41:23,828 [93] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'servicekeyworker.py', 'pid': '93'} teamsyncworker stdout | 2025-09-26 08:41:23,832 [105] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'teamsyncworker.py', 'pid': '105'} blobuploadcleanupworker stdout | 2025-09-26 08:41:23,912 [50] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'blobuploadcleanupworker.py', 'pid': '50'} gcworker stdout | 2025-09-26 08:41:24,225 [57] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'gcworker.py', 'pid': '57'} queuecleanupworker stdout | 2025-09-26 08:41:24,338 [71] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'queuecleanupworker.py', 'pid': '71'} securityscanningnotificationworker stdout | 2025-09-26 08:41:24,673 [88] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityscanningnotificationworker.py', 'pid': '88'} chunkcleanupworker stdout | 2025-09-26 08:41:24,954 [53] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'chunkcleanupworker.py', 'pid': '53'} repositorygcworker stdout | 2025-09-26 08:41:25,657 [86] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositorygcworker.py', 'pid': '86'} gunicorn-secscan stdout | 2025-09-26 08:41:25,818 [227] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '227'} gunicorn-secscan stdout | 2025-09-26 08:41:25,825 [228] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '228'} gunicorn-secscan stdout | 2025-09-26 08:41:25,830 [60] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '60'} gunicorn-secscan stdout | 2025-09-26 08:41:25,997 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:41:25 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:41:25 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) namespacegcworker stdout | 2025-09-26 08:41:26,046 [66] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'namespacegcworker.py', 'pid': '66'} notificationworker stdout | 2025-09-26 08:41:26,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:41:26,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:34.441526+00:00 (in 8.000960 seconds) notificationworker stdout | 2025-09-26 08:41:26,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:36 GMT)" (scheduled at 2025-09-26 08:41:26.440077+00:00) notificationworker stdout | 2025-09-26 08:41:26,441 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:41:26,442 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 41, 26, 441094), True, datetime.datetime(2025, 9, 26, 8, 41, 26, 441094), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:41:26,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:41:26,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:41:26,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:36 GMT)" executed successfully repositoryactioncounter stdout | 2025-09-26 08:41:26,541 [80] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositoryactioncounter.py', 'pid': '80'} expiredappspecifictokenworker stdout | 2025-09-26 08:41:26,639 [55] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'expiredappspecifictokenworker.py', 'pid': '55'} gunicorn-web stdout | 2025-09-26 08:41:26,702 [240] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '240'} gunicorn-web stdout | 2025-09-26 08:41:26,731 [239] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '239'} gunicorn-web stdout | 2025-09-26 08:41:26,810 [242] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '242'} gunicorn-web stdout | 2025-09-26 08:41:26,814 [241] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '241'} gunicorn-web stdout | 2025-09-26 08:41:26,818 [61] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '61'} builder stdout | 2025-09-26 08:41:26,950 [51] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'builder.py', 'pid': '51'} securityworker stdout | 2025-09-26 08:41:27,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:41:27,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:49.334273+00:00 (in 21.998338 seconds) securityworker stdout | 2025-09-26 08:41:27,336 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:57 GMT)" (scheduled at 2025-09-26 08:41:27.335452+00:00) securityworker stdout | 2025-09-26 08:41:27,337 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:41:27,337 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:41:27,340 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:41:27,343 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:41:27,356 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:41:27,356 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:41:27,356 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:41:27,356 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:41:27,357 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 36]) securityworker stdout | 2025-09-26 08:41:27,360 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:41:27,361 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:41:27,361 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:41:27,361 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:41:27,361 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:41:27,361 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:41:27,361 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:41:27,361 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:41:27,361 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:41:27,361 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:41:27,361 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:41:27,362 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 36, 27, 342831), 1, 36]) securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:41:27,365 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:41:27,366 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:41:27,366 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:41:27,366 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:41:27,366 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:41:27,366 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:41:27,366 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:41:27,366 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:41:27,366 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:41:27,366 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:41:27,366 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:41:27,367 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 36, 27, 342831), 1, 36]) securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:41:27,371 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:41:27,371 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:41:27,371 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:41:27,371 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:41:27,371 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:41:27,371 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:41:27,371 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:41:27,371 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:41:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:41:27,371 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:41:57 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:41:27,846 [68] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'notificationworker.py', 'pid': '68'} globalpromstats stdout | 2025-09-26 08:41:30,231 [58] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'globalpromstats.py', 'pid': '58'} gunicorn-web stdout | 2025-09-26 08:41:32,639 [239] [DEBUG] [app] Starting request: urn:request:e5602cae-1967-4916-94e2-7475db5186a2 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:41:32,640 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:41:32,643 [250] [DEBUG] [app] Starting request: urn:request:2f550e40-c5ff-43be-aeb8-67563feed27b (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:41:32,643 [250] [DEBUG] [app] Ending request: urn:request:2f550e40-c5ff-43be-aeb8-67563feed27b (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:2f550e40-c5ff-43be-aeb8-67563feed27b', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:41:32,644 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:41:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:41:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.003 162 0.003) gunicorn-web stdout | 2025-09-26 08:41:32,644 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:41:32,645 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:41:32,646 [242] [DEBUG] [app] Starting request: urn:request:40c459d1-b104-4bfa-aa7b-d860851581e1 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:41:32,647 [242] [DEBUG] [app] Ending request: urn:request:40c459d1-b104-4bfa-aa7b-d860851581e1 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:40c459d1-b104-4bfa-aa7b-d860851581e1', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:41:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:41:32,647 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:41:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:41:32,647 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:41:32,647 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:41:32,648 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:41:32,648 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:41:32,656 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:41:32,656 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:41:32,666 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:41:32,669 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:41:32,673 [239] [DEBUG] [app] Ending request: urn:request:e5602cae-1967-4916-94e2-7475db5186a2 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:e5602cae-1967-4916-94e2-7475db5186a2', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:41:32,673 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:41:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.035 118 0.036) gunicorn-web stdout | 2025-09-26 08:41:32,674 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:41:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" gunicorn-web stdout | 2025-09-26 08:41:32,727 [241] [DEBUG] [app] Starting request: urn:request:7573202b-8a51-40e1-b110-fbf5d165dfb7 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:41:32,728 [241] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:41:32,730 [257] [DEBUG] [app] Starting request: urn:request:ed67467f-a32e-4453-bb14-a5f32958b764 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:41:32,730 [257] [DEBUG] [app] Ending request: urn:request:ed67467f-a32e-4453-bb14-a5f32958b764 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:ed67467f-a32e-4453-bb14-a5f32958b764', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:41:32,731 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:41:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:41:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:41:32,731 [241] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:41:32,732 [241] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:41:32,738 [241] [DEBUG] [app] Starting request: urn:request:c1f99e32-8664-4780-8c5e-e9fc2b47f395 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:41:32,740 [241] [DEBUG] [app] Ending request: urn:request:c1f99e32-8664-4780-8c5e-e9fc2b47f395 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:c1f99e32-8664-4780-8c5e-e9fc2b47f395', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:41:32,740 [241] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:41:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:41:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.007 159 0.007) gunicorn-web stdout | 2025-09-26 08:41:32,741 [241] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:41:32,741 [241] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:41:32,741 [241] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:41:32,741 [241] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:41:32,749 [241] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:41:32,749 [241] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:41:32,759 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:41:32,763 [241] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:41:32,766 [241] [DEBUG] [app] Ending request: urn:request:7573202b-8a51-40e1-b110-fbf5d165dfb7 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:7573202b-8a51-40e1-b110-fbf5d165dfb7', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:41:32,767 [241] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:41:32,767 [241] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:41:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:41:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.041 118 0.041) gunicorn-registry stdout | 2025-09-26 08:41:33,000 [252] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '252'} gunicorn-registry stdout | 2025-09-26 08:41:33,012 [257] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '257'} gunicorn-registry stdout | 2025-09-26 08:41:33,018 [59] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '59'} gunicorn-registry stdout | 2025-09-26 08:41:33,023 [254] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '254'} gunicorn-registry stdout | 2025-09-26 08:41:33,050 [253] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '253'} gunicorn-registry stdout | 2025-09-26 08:41:33,066 [255] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '255'} gunicorn-registry stdout | 2025-09-26 08:41:33,102 [256] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '256'} gunicorn-registry stdout | 2025-09-26 08:41:33,108 [251] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '251'} gunicorn-registry stdout | 2025-09-26 08:41:33,124 [250] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '250'} proxycacheblobworker stdout | 2025-09-26 08:41:33,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:41:33,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:43.545186+00:00 (in 9.999529 seconds) proxycacheblobworker stdout | 2025-09-26 08:41:33,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:43 GMT)" (scheduled at 2025-09-26 08:41:33.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:41:33,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:41:33,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 41, 33, 546049), True, datetime.datetime(2025, 9, 26, 8, 41, 33, 546049), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:41:33,558 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:41:33,558 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:41:33,559 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:43 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:41:33,765 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} gcworker stdout | 2025-09-26 08:41:34,439 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:41:34,440 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:51.444401+00:00 (in 17.004230 seconds) gcworker stdout | 2025-09-26 08:41:34,440 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:04 GMT)" (scheduled at 2025-09-26 08:41:34.439268+00:00) gcworker stdout | 2025-09-26 08:41:34,440 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:41:34,440 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:04 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:41:34,441 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:41:34,441 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:36.440077+00:00 (in 1.998149 seconds) notificationworker stdout | 2025-09-26 08:41:34,442 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:34 GMT)" (scheduled at 2025-09-26 08:41:34.441526+00:00) notificationworker stdout | 2025-09-26 08:41:34,442 [68] [DEBUG] [workers.queueworker] Running watchdog. notificationworker stdout | 2025-09-26 08:41:34,442 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:34 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:41:34,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:41:34,734 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:04.734534+00:00 (in 29.999567 seconds) autopruneworker stdout | 2025-09-26 08:41:34,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:04 GMT)" (scheduled at 2025-09-26 08:41:34.734534+00:00) autopruneworker stdout | 2025-09-26 08:41:34,744 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758872494743, None, 1, 0]) autopruneworker stdout | 2025-09-26 08:41:34,748 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:41:34,749 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:41:34,749 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:04 GMT)" executed successfully namespacegcworker stdout | 2025-09-26 08:41:34,841 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:41:34,841 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:58.835976+00:00 (in 23.994647 seconds) namespacegcworker stdout | 2025-09-26 08:41:34,841 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:34 GMT)" (scheduled at 2025-09-26 08:41:34.840898+00:00) namespacegcworker stdout | 2025-09-26 08:41:34,841 [66] [DEBUG] [workers.queueworker] Running watchdog. namespacegcworker stdout | 2025-09-26 08:41:34,841 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:34 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:41:36,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:41:36,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:46.440077+00:00 (in 9.999570 seconds) notificationworker stdout | 2025-09-26 08:41:36,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:46 GMT)" (scheduled at 2025-09-26 08:41:36.440077+00:00) notificationworker stdout | 2025-09-26 08:41:36,441 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:41:36,442 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 41, 36, 441106), True, datetime.datetime(2025, 9, 26, 8, 41, 36, 441106), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:41:36,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:41:36,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:41:36,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:46 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:41:37,051 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} repositorygcworker stdout | 2025-09-26 08:41:39,235 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:41:39,236 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:23.149141+00:00 (in 43.912500 seconds) repositorygcworker stdout | 2025-09-26 08:41:39,236 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:39 GMT)" (scheduled at 2025-09-26 08:41:39.235682+00:00) repositorygcworker stdout | 2025-09-26 08:41:39,236 [86] [DEBUG] [workers.queueworker] Running watchdog. repositorygcworker stdout | 2025-09-26 08:41:39,237 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:39 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:41:39,349 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} buildlogsarchiver stdout | 2025-09-26 08:41:39,351 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:41:39,352 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:09.351551+00:00 (in 29.999538 seconds) buildlogsarchiver stdout | 2025-09-26 08:41:39,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:09 GMT)" (scheduled at 2025-09-26 08:41:39.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:41:39,352 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 41, 39, 352319), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:41:39,366 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:41:39,366 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:41:39,366 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:09 GMT)" executed successfully manifestbackfillworker stdout | 2025-09-26 08:41:40,444 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} securityscanningnotificationworker stdout | 2025-09-26 08:41:42,242 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:41:42,243 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:22.245238+00:00 (in 40.002246 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:41:42,243 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:42 GMT)" (scheduled at 2025-09-26 08:41:42.242482+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:41:42,243 [88] [DEBUG] [workers.queueworker] Getting work item from queue. securityscanningnotificationworker stdout | 2025-09-26 08:41:42,243 [88] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 41, 42, 243319), True, datetime.datetime(2025, 9, 26, 8, 41, 42, 243319), 0, 'secscanv4/%', 50, 1, 0]) securityscanningnotificationworker stdout | 2025-09-26 08:41:42,256 [88] [DEBUG] [workers.queueworker] No more work. securityscanningnotificationworker stdout | 2025-09-26 08:41:42,256 [88] [DEBUG] [data.database] Disconnecting from database. securityscanningnotificationworker stdout | 2025-09-26 08:41:42,256 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:42 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:41:43,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:41:43,546 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:53.545186+00:00 (in 9.999060 seconds) proxycacheblobworker stdout | 2025-09-26 08:41:43,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:53 GMT)" (scheduled at 2025-09-26 08:41:43.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:41:43,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:41:43,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 41, 43, 546508), True, datetime.datetime(2025, 9, 26, 8, 41, 43, 546508), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:41:43,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:41:43,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:41:43,561 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:53 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:41:45,947 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:41:45,947 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:50.940190+00:00 (in 4.992536 seconds) exportactionlogsworker stdout | 2025-09-26 08:41:45,947 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:45 GMT)" (scheduled at 2025-09-26 08:41:45.946993+00:00) exportactionlogsworker stdout | 2025-09-26 08:41:45,947 [56] [DEBUG] [workers.queueworker] Running watchdog. exportactionlogsworker stdout | 2025-09-26 08:41:45,948 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:45 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:41:46,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:41:46,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:56.440077+00:00 (in 9.999560 seconds) notificationworker stdout | 2025-09-26 08:41:46,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:56 GMT)" (scheduled at 2025-09-26 08:41:46.440077+00:00) notificationworker stdout | 2025-09-26 08:41:46,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:41:46,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 41, 46, 440837), True, datetime.datetime(2025, 9, 26, 8, 41, 46, 440837), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:41:46,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:41:46,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:41:46,454 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:41:56 GMT)" executed successfully securityworker stdout | 2025-09-26 08:41:47,455 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} gunicorn-web stdout | 2025-09-26 08:41:47,639 [242] [DEBUG] [app] Starting request: urn:request:1caa79ff-ae57-4717-8cae-f312459dcaca (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:41:47,640 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:41:47,642 [257] [DEBUG] [app] Starting request: urn:request:39b87f34-0dfa-4b30-8724-1656e9c0ed91 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:41:47,643 [257] [DEBUG] [app] Ending request: urn:request:39b87f34-0dfa-4b30-8724-1656e9c0ed91 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:39b87f34-0dfa-4b30-8724-1656e9c0ed91', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:41:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-registry stdout | 2025-09-26 08:41:47,643 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:41:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:41:47,643 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:41:47,644 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:41:47,646 [242] [DEBUG] [app] Starting request: urn:request:c7ebf815-e332-4ea4-aadb-1f76a4f3e9e3 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:41:47,646 [242] [DEBUG] [app] Ending request: urn:request:c7ebf815-e332-4ea4-aadb-1f76a4f3e9e3 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:c7ebf815-e332-4ea4-aadb-1f76a4f3e9e3', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:41:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:41:47,646 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:41:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:41:47,646 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:41:47,647 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:41:47,647 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:41:47,647 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:41:47,655 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:41:47,655 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:41:47,666 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:41:47,670 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:41:47,674 [242] [DEBUG] [app] Ending request: urn:request:1caa79ff-ae57-4717-8cae-f312459dcaca (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:1caa79ff-ae57-4717-8cae-f312459dcaca', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:41:47,674 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:41:47,674 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:41:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:41:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.036 118 0.036) gunicorn-web stdout | 2025-09-26 08:41:47,728 [242] [DEBUG] [app] Starting request: urn:request:85dc8b78-771d-46eb-a52e-7aeabd526d18 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:41:47,730 [250] [DEBUG] [app] Starting request: urn:request:b35a36d2-18cd-418b-96ca-ef2b6a3bfdeb (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:41:47,730 [250] [DEBUG] [app] Ending request: urn:request:b35a36d2-18cd-418b-96ca-ef2b6a3bfdeb (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:b35a36d2-18cd-418b-96ca-ef2b6a3bfdeb', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:41:47,731 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:41:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:41:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:41:47,731 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:41:47,732 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:41:47,733 [241] [DEBUG] [app] Starting request: urn:request:945b6036-e6e2-42a0-b50f-b865061afba0 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:41:47,734 [241] [DEBUG] [app] Ending request: urn:request:945b6036-e6e2-42a0-b50f-b865061afba0 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:945b6036-e6e2-42a0-b50f-b865061afba0', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:41:47,734 [241] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:41:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:41:47,734 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:41:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:41:47,735 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:41:47,735 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:41:47,735 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:41:47,743 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:41:47,743 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:41:47,752 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:41:47,756 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:41:47,759 [242] [DEBUG] [app] Ending request: urn:request:85dc8b78-771d-46eb-a52e-7aeabd526d18 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:85dc8b78-771d-46eb-a52e-7aeabd526d18', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:41:47,760 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:41:47,760 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:41:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:41:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.033 118 0.033) gunicorn-secscan stdout | 2025-09-26 08:41:48,870 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:41:48 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:41:48 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 959 0.001) securityworker stdout | 2025-09-26 08:41:49,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:41:49,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:57.335452+00:00 (in 7.999891 seconds) securityworker stdout | 2025-09-26 08:41:49,335 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:19 GMT)" (scheduled at 2025-09-26 08:41:49.334273+00:00) securityworker stdout | 2025-09-26 08:41:49,336 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:41:49,336 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:41:49,338 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:41:49,340 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:41:49,353 [89] [DEBUG] [peewee] ('SELECT Min("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:41:49,356 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:41:49,356 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:41:49,357 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:41:49,357 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:41:49,357 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 19, 27]) securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 19-27 by worker securityworker stdout | 2025-09-26 08:41:49,361 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 19-27 by worker securityworker stdout | 2025-09-26 08:41:49,361 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 19-27 securityworker stdout | 2025-09-26 08:41:49,361 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 19-27 securityworker stdout | 2025-09-26 08:41:49,361 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:41:49,361 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:41:49,361 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:41:49,361 [89] [DEBUG] [util.migrate.allocator] Right range 19-27 securityworker stdout | 2025-09-26 08:41:49,362 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-19 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 19-27 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 19-27 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Right range 19-27 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-19 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 11 securityworker stdout | 2025-09-26 08:41:49,362 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 11 securityworker stdout | 2025-09-26 08:41:49,362 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 8, 16]) securityworker stdout | 2025-09-26 08:41:49,365 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 8-16 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 8-16 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 8-16 securityworker stdout | 2025-09-26 08:41:49,366 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 8-16 securityworker stdout | 2025-09-26 08:41:49,366 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 8-16 securityworker stdout | 2025-09-26 08:41:49,366 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stdout | 2025-09-26 08:41:49,366 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:41:49,366 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 3 total holes securityworker stdout | 2025-09-26 08:41:49,366 [89] [DEBUG] [util.migrate.allocator] Right range 8-16 securityworker stdout | 2025-09-26 08:41:49,366 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-8 securityworker stdout | 2025-09-26 08:41:49,366 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 8-16 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 3 total holes securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Right range 8-16 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-8 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:41:49,366 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 9]) securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stdout | 2025-09-26 08:41:49,370 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stdout | 2025-09-26 08:41:49,370 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:41:49,370 [89] [DEBUG] [util.migrate.allocator] Merging with block 8-16 securityworker stdout | 2025-09-26 08:41:49,370 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 16 securityworker stdout | 2025-09-26 08:41:49,370 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:41:49,370 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:41:49,370 [89] [DEBUG] [util.migrate.allocator] Total range: 16-36 securityworker stdout | 2025-09-26 08:41:49,370 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:41:49,370 [89] [DEBUG] [util.migrate.allocator] Left range 19-27 securityworker stdout | 2025-09-26 08:41:49,370 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 27-36 securityworker stdout | 2025-09-26 08:41:49,370 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 8-16 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 16 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 16-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Left range 19-27 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 27-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:41:49,371 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 28, 36]) securityworker stdout | 2025-09-26 08:41:49,375 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 28-36 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 28-36 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 28-36 securityworker stdout | 2025-09-26 08:41:49,375 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 28-36 securityworker stdout | 2025-09-26 08:41:49,375 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 28 securityworker stdout | 2025-09-26 08:41:49,375 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:41:49,375 [89] [DEBUG] [util.migrate.allocator] Total range: 16-28 securityworker stdout | 2025-09-26 08:41:49,375 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:41:49,375 [89] [DEBUG] [util.migrate.allocator] Left range 19-27 securityworker stdout | 2025-09-26 08:41:49,375 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 27-28 securityworker stdout | 2025-09-26 08:41:49,375 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 27 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 28 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 16-28 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Left range 19-27 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 27-28 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 27 securityworker stdout | 2025-09-26 08:41:49,376 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 27, 35]) securityworker stdout | 2025-09-26 08:41:49,379 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 27-35 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 27-35 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 27-35 securityworker stdout | 2025-09-26 08:41:49,379 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 27-35 securityworker stdout | 2025-09-26 08:41:49,379 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 19-27 securityworker stdout | 2025-09-26 08:41:49,379 [89] [DEBUG] [util.migrate.allocator] Already merged with block 19-27 securityworker stdout | 2025-09-26 08:41:49,379 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 19 securityworker stdout | 2025-09-26 08:41:49,379 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:41:49,379 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:41:49,379 [89] [DEBUG] [util.migrate.allocator] Total range: 16-19 securityworker stdout | 2025-09-26 08:41:49,379 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:41:49,379 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 16-19 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 19-27 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 19-27 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 19 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 16-19 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 16-19 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 16 securityworker stdout | 2025-09-26 08:41:49,379 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 16 securityworker stdout | 2025-09-26 08:41:49,380 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 16, 24]) securityworker stdout | 2025-09-26 08:41:49,383 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 16-24 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 16-24 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 16-24 securityworker stdout | 2025-09-26 08:41:49,383 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 16-24 securityworker stdout | 2025-09-26 08:41:49,383 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 16 securityworker stdout | 2025-09-26 08:41:49,383 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 24 securityworker stdout | 2025-09-26 08:41:49,383 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:41:49,383 [89] [DEBUG] [util.migrate.allocator] Total range: 24-16 securityworker stdout | 2025-09-26 08:41:49,383 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:41:49,383 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:41:49,383 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 16 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 24 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 24-16 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:41:49,383 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:41:49,383 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:41:49,384 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 36, 49, 340096), 16, 24]) securityworker stdout | 2025-09-26 08:41:49,387 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 16-24 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 16-24 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 16-24 securityworker stdout | 2025-09-26 08:41:49,387 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 16-24 securityworker stdout | 2025-09-26 08:41:49,387 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 16-24 securityworker stdout | 2025-09-26 08:41:49,387 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:41:49,387 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:41:49,387 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:41:49,387 [89] [DEBUG] [util.migrate.allocator] Right range 16-24 securityworker stdout | 2025-09-26 08:41:49,387 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-16 securityworker stdout | 2025-09-26 08:41:49,387 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 8 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 16-24 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Right range 16-24 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-16 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 8 securityworker stdout | 2025-09-26 08:41:49,388 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 36, 49, 340096), 7, 15]) securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 7-15 by worker securityworker stdout | 2025-09-26 08:41:49,392 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 7-15 by worker securityworker stdout | 2025-09-26 08:41:49,392 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 7-15 securityworker stdout | 2025-09-26 08:41:49,392 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 7-15 securityworker stdout | 2025-09-26 08:41:49,392 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stdout | 2025-09-26 08:41:49,392 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:41:49,392 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 3 total holes securityworker stdout | 2025-09-26 08:41:49,392 [89] [DEBUG] [util.migrate.allocator] Right range 7-15 securityworker stdout | 2025-09-26 08:41:49,392 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-7 securityworker stdout | 2025-09-26 08:41:49,392 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 7-15 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 7-15 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 3 total holes securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Right range 7-15 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-7 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:41:49,392 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 36, 49, 340096), 1, 9]) securityworker stdout | 2025-09-26 08:41:49,396 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:41:49,396 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:41:49,396 [89] [DEBUG] [util.migrate.allocator] Merging with block 7-15 securityworker stdout | 2025-09-26 08:41:49,396 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 15 securityworker stdout | 2025-09-26 08:41:49,396 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:41:49,396 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:41:49,396 [89] [DEBUG] [util.migrate.allocator] Total range: 15-36 securityworker stdout | 2025-09-26 08:41:49,396 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:41:49,396 [89] [DEBUG] [util.migrate.allocator] Right range 16-24 securityworker stdout | 2025-09-26 08:41:49,396 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 15-16 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 7-15 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 15 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 15-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Right range 16-24 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 15-16 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 15 securityworker stdout | 2025-09-26 08:41:49,396 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 15 securityworker stdout | 2025-09-26 08:41:49,397 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 36, 49, 340096), 15, 23]) securityworker stdout | 2025-09-26 08:41:49,400 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 15-23 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 15-23 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 15-23 securityworker stdout | 2025-09-26 08:41:49,400 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 15-23 securityworker stdout | 2025-09-26 08:41:49,400 [89] [DEBUG] [util.migrate.allocator] Merging with block 16-24 securityworker stdout | 2025-09-26 08:41:49,400 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 24 securityworker stdout | 2025-09-26 08:41:49,400 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:41:49,400 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:41:49,400 [89] [DEBUG] [util.migrate.allocator] Total range: 24-36 securityworker stdout | 2025-09-26 08:41:49,400 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:41:49,400 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-36 securityworker stdout | 2025-09-26 08:41:49,400 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 16-24 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 24 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 24-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:41:49,401 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 36, 49, 340096), 28, 36]) securityworker stdout | 2025-09-26 08:41:49,404 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 28-36 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 28-36 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 28-36 securityworker stdout | 2025-09-26 08:41:49,404 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 28-36 securityworker stdout | 2025-09-26 08:41:49,404 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 28 securityworker stdout | 2025-09-26 08:41:49,404 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:41:49,404 [89] [DEBUG] [util.migrate.allocator] Total range: 24-28 securityworker stdout | 2025-09-26 08:41:49,404 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:41:49,404 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-28 securityworker stdout | 2025-09-26 08:41:49,404 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 24 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 28 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 24-28 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-28 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 24 securityworker stdout | 2025-09-26 08:41:49,405 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 36, 49, 340096), 24, 32]) securityworker stdout | 2025-09-26 08:41:49,409 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 24-32 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 24-32 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 24-32 securityworker stdout | 2025-09-26 08:41:49,409 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 24-32 securityworker stdout | 2025-09-26 08:41:49,409 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 24 securityworker stdout | 2025-09-26 08:41:49,409 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 32 securityworker stdout | 2025-09-26 08:41:49,409 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:41:49,409 [89] [DEBUG] [util.migrate.allocator] Total range: 32-24 securityworker stdout | 2025-09-26 08:41:49,409 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:41:49,409 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:41:49,409 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:41:49,409 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 24 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 32 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 32-24 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:41:49,409 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:41:49,410 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 36, 49, 340096), 19, 27]) securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 19-27 by worker securityworker stdout | 2025-09-26 08:41:49,413 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 19-27 by worker securityworker stdout | 2025-09-26 08:41:49,413 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 19-27 securityworker stdout | 2025-09-26 08:41:49,413 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 19-27 securityworker stdout | 2025-09-26 08:41:49,414 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:41:49,414 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:41:49,414 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:41:49,414 [89] [DEBUG] [util.migrate.allocator] Left range 19-27 securityworker stdout | 2025-09-26 08:41:49,414 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 27-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 19-27 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 19-27 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Left range 19-27 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 27-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:41:49,414 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:41:49,414 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 36, 49, 340096), 28, 36]) securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 28-36 by worker securityworker stdout | 2025-09-26 08:41:49,418 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 28-36 by worker securityworker stdout | 2025-09-26 08:41:49,418 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 28-36 securityworker stdout | 2025-09-26 08:41:49,418 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 28 securityworker stdout | 2025-09-26 08:41:49,418 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:41:49,418 [89] [DEBUG] [util.migrate.allocator] Total range: 1-28 securityworker stdout | 2025-09-26 08:41:49,418 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:41:49,418 [89] [DEBUG] [util.migrate.allocator] Left range 19-27 securityworker stdout | 2025-09-26 08:41:49,418 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 27-28 securityworker stdout | 2025-09-26 08:41:49,418 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 27 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 28-36 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 28 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-28 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Left range 19-27 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 27-28 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 27 securityworker stdout | 2025-09-26 08:41:49,419 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 36, 49, 340096), 27, 35]) securityworker stdout | 2025-09-26 08:41:49,422 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 27-35 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 27-35 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 27-35 securityworker stdout | 2025-09-26 08:41:49,422 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 27-35 securityworker stdout | 2025-09-26 08:41:49,422 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 19-27 securityworker stdout | 2025-09-26 08:41:49,422 [89] [DEBUG] [util.migrate.allocator] Already merged with block 19-27 securityworker stdout | 2025-09-26 08:41:49,422 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 19 securityworker stdout | 2025-09-26 08:41:49,422 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:41:49,422 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:41:49,422 [89] [DEBUG] [util.migrate.allocator] Total range: 1-19 securityworker stdout | 2025-09-26 08:41:49,422 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:41:49,422 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-19 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 19-27 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 19-27 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 19 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-19 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-19 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 11 securityworker stdout | 2025-09-26 08:41:49,422 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 11 securityworker stdout | 2025-09-26 08:41:49,423 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 36, 49, 340096), 6, 14]) securityworker stdout | 2025-09-26 08:41:49,426 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 6-14 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 6-14 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 6-14 securityworker stdout | 2025-09-26 08:41:49,426 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 6-14 securityworker stdout | 2025-09-26 08:41:49,426 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 6-14 securityworker stdout | 2025-09-26 08:41:49,426 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:41:49,426 [89] [DEBUG] [util.migrate.allocator] Total range: 1-19 securityworker stdout | 2025-09-26 08:41:49,426 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:41:49,426 [89] [DEBUG] [util.migrate.allocator] Right range 6-14 securityworker stdout | 2025-09-26 08:41:49,426 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-6 securityworker stdout | 2025-09-26 08:41:49,426 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 6-14 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-19 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Right range 6-14 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-6 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:41:49,427 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 36, 49, 340096), 1, 9]) securityworker stdout | 2025-09-26 08:41:49,430 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:41:49,430 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:41:49,430 [89] [DEBUG] [util.migrate.allocator] Merging with block 6-14 securityworker stdout | 2025-09-26 08:41:49,430 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 14 securityworker stdout | 2025-09-26 08:41:49,430 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:41:49,430 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:41:49,430 [89] [DEBUG] [util.migrate.allocator] Total range: 14-19 securityworker stdout | 2025-09-26 08:41:49,430 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 6-14 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 14 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 14-19 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:41:49,431 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 14-19 securityworker stdout | 2025-09-26 08:41:49,431 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 14 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 14-19 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 14 securityworker stdout | 2025-09-26 08:41:49,432 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 36, 49, 340096), 14, 22]) securityworker stdout | 2025-09-26 08:41:49,435 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 14-22 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 14-22 by worker securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 14-22 securityworker stdout | 2025-09-26 08:41:49,435 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 14-22 securityworker stdout | 2025-09-26 08:41:49,435 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 14 securityworker stdout | 2025-09-26 08:41:49,435 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 22 securityworker stdout | 2025-09-26 08:41:49,435 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:41:49,435 [89] [DEBUG] [util.migrate.allocator] Total range: 22-14 securityworker stdout | 2025-09-26 08:41:49,435 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:41:49,435 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 14 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 22 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] Total range: 22-14 securityworker stderr | 2025-09-26 08:41:49 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:41:49,435 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:19 GMT)" executed successfully gunicorn-secscan stdout | 2025-09-26 08:41:49,779 [228] [INFO] [gunicorn.access] - - [26/Sep/2025:08:41:49 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:41:49 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) logrotateworker stdout | 2025-09-26 08:41:50,483 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} exportactionlogsworker stdout | 2025-09-26 08:41:50,940 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:41:50,940 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:41:56.945132+00:00 (in 6.004460 seconds) exportactionlogsworker stdout | 2025-09-26 08:41:50,940 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:50 GMT)" (scheduled at 2025-09-26 08:41:50.940190+00:00) exportactionlogsworker stdout | 2025-09-26 08:41:50,940 [56] [DEBUG] [workers.queueworker] Getting work item from queue. exportactionlogsworker stdout | 2025-09-26 08:41:50,941 [56] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 41, 50, 941024), True, datetime.datetime(2025, 9, 26, 8, 41, 50, 941024), 0, 'exportactionlogs/%', 50, 1, 0]) exportactionlogsworker stdout | 2025-09-26 08:41:50,954 [56] [DEBUG] [workers.queueworker] No more work. exportactionlogsworker stdout | 2025-09-26 08:41:50,954 [56] [DEBUG] [data.database] Disconnecting from database. exportactionlogsworker stdout | 2025-09-26 08:41:50,954 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:50 GMT)" executed successfully gcworker stdout | 2025-09-26 08:41:51,444 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:41:51,444 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:04.439268+00:00 (in 12.994367 seconds) gcworker stdout | 2025-09-26 08:41:51,445 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:21 GMT)" (scheduled at 2025-09-26 08:41:51.444401+00:00) gcworker stdout | 2025-09-26 08:41:51,445 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) gcworker stdout | 2025-09-26 08:41:51,457 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875811456, None, 1, 0]) gcworker stdout | 2025-09-26 08:41:51,461 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:41:51,462 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:21 GMT)" executed successfully buildlogsarchiver stdout | 2025-09-26 08:41:51,556 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'} manifestsubjectbackfillworker stdout | 2025-09-26 08:41:52,265 [64] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestsubjectbackfillworker.py', 'pid': '64'} storagereplication stdout | 2025-09-26 08:41:53,314 [95] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'storagereplication.py', 'pid': '95'} proxycacheblobworker stdout | 2025-09-26 08:41:53,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:41:53,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:03.545186+00:00 (in 9.999402 seconds) proxycacheblobworker stdout | 2025-09-26 08:41:53,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:03 GMT)" (scheduled at 2025-09-26 08:41:53.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:41:53,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:41:53,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 41, 53, 546104), True, datetime.datetime(2025, 9, 26, 8, 41, 53, 546104), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:41:53,559 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:41:53,559 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:41:53,559 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:03 GMT)" executed successfully servicekey stdout | 2025-09-26 08:41:53,844 [93] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'servicekeyworker.py', 'pid': '93'} teamsyncworker stdout | 2025-09-26 08:41:53,849 [105] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'teamsyncworker.py', 'pid': '105'} blobuploadcleanupworker stdout | 2025-09-26 08:41:53,929 [50] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'blobuploadcleanupworker.py', 'pid': '50'} gcworker stdout | 2025-09-26 08:41:54,242 [57] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'gcworker.py', 'pid': '57'} queuecleanupworker stdout | 2025-09-26 08:41:54,356 [71] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'queuecleanupworker.py', 'pid': '71'} securityscanningnotificationworker stdout | 2025-09-26 08:41:54,690 [88] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityscanningnotificationworker.py', 'pid': '88'} chunkcleanupworker stdout | 2025-09-26 08:41:54,970 [53] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'chunkcleanupworker.py', 'pid': '53'} repositorygcworker stdout | 2025-09-26 08:41:55,674 [86] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositorygcworker.py', 'pid': '86'} gunicorn-secscan stdout | 2025-09-26 08:41:55,836 [227] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '227'} gunicorn-secscan stdout | 2025-09-26 08:41:55,842 [228] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '228'} gunicorn-secscan stdout | 2025-09-26 08:41:55,848 [60] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '60'} namespacegcworker stdout | 2025-09-26 08:41:56,063 [66] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'namespacegcworker.py', 'pid': '66'} notificationworker stdout | 2025-09-26 08:41:56,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:41:56,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:06.440077+00:00 (in 9.999570 seconds) notificationworker stdout | 2025-09-26 08:41:56,441 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:06 GMT)" (scheduled at 2025-09-26 08:41:56.440077+00:00) notificationworker stdout | 2025-09-26 08:41:56,441 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:41:56,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 41, 56, 441237), True, datetime.datetime(2025, 9, 26, 8, 41, 56, 441237), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:41:56,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:41:56,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:41:56,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:06 GMT)" executed successfully repositoryactioncounter stdout | 2025-09-26 08:41:56,559 [80] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositoryactioncounter.py', 'pid': '80'} expiredappspecifictokenworker stdout | 2025-09-26 08:41:56,655 [55] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'expiredappspecifictokenworker.py', 'pid': '55'} gunicorn-web stdout | 2025-09-26 08:41:56,721 [240] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '240'} gunicorn-web stdout | 2025-09-26 08:41:56,754 [239] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '239'} gunicorn-web stdout | 2025-09-26 08:41:56,836 [61] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '61'} gunicorn-web stdout | 2025-09-26 08:41:56,842 [242] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '242'} gunicorn-web stdout | 2025-09-26 08:41:56,846 [241] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '241'} exportactionlogsworker stdout | 2025-09-26 08:41:56,945 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:41:56,946 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:45.946993+00:00 (in 49.000973 seconds) exportactionlogsworker stdout | 2025-09-26 08:41:56,946 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:46:56 GMT)" (scheduled at 2025-09-26 08:41:56.945132+00:00) exportactionlogsworker stdout | 2025-09-26 08:41:56,946 [56] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [False, datetime.datetime(2025, 9, 26, 8, 41, 56, 946347), 'exportactionlogs/%']) exportactionlogsworker stdout | 2025-09-26 08:41:56,959 [56] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 41, 56, 946347), True, datetime.datetime(2025, 9, 26, 8, 41, 56, 946347), 0, 'exportactionlogs/%']) exportactionlogsworker stdout | 2025-09-26 08:41:56,963 [56] [DEBUG] [peewee] ('SELECT COUNT(1) FROM (SELECT DISTINCT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) AND NOT ("t1"."queue_name" IN (SELECT "t1"."queue_name" FROM "queueitem" AS "t1" WHERE ((("t1"."available" = %s) AND ("t1"."processing_expires" > %s)) AND ("t1"."queue_name" ILIKE %s)))))) AS "_wrapped"', [datetime.datetime(2025, 9, 26, 8, 41, 56, 946347), True, datetime.datetime(2025, 9, 26, 8, 41, 56, 946347), 0, 'exportactionlogs/%', False, datetime.datetime(2025, 9, 26, 8, 41, 56, 946347), 'exportactionlogs/%']) exportactionlogsworker stdout | 2025-09-26 08:41:56,967 [56] [DEBUG] [data.database] Disconnecting from database. exportactionlogsworker stdout | 2025-09-26 08:41:56,967 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.update_queue_metrics (trigger: interval[0:05:00], next run at: 2025-09-26 08:46:56 GMT)" executed successfully builder stdout | 2025-09-26 08:41:56,968 [51] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'builder.py', 'pid': '51'} securityworker stdout | 2025-09-26 08:41:57,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:41:57,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:19.334273+00:00 (in 21.998314 seconds) securityworker stdout | 2025-09-26 08:41:57,336 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:27 GMT)" (scheduled at 2025-09-26 08:41:57.335452+00:00) securityworker stdout | 2025-09-26 08:41:57,336 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:41:57,336 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:41:57,340 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:41:57,344 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:41:57,358 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:41:57,358 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:41:57,358 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:41:57,358 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:41:57,359 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 36]) securityworker stdout | 2025-09-26 08:41:57,363 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:41:57,363 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:41:57,363 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:41:57,363 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:41:57,363 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:41:57,363 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:41:57,363 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:41:57,363 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:41:57,363 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:41:57,363 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:41:57,363 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:41:57,364 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 36, 57, 344149), 1, 36]) securityworker stdout | 2025-09-26 08:41:57,367 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:41:57,367 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:41:57,367 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:41:57,367 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:41:57,367 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:41:57,367 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:41:57,367 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:41:57,367 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:41:57,367 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:41:57,367 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:41:57,367 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:41:57,369 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 36, 57, 344149), 1, 36]) securityworker stdout | 2025-09-26 08:41:57,372 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:41:57,372 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:41:57,372 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:41:57,372 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:41:57,372 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:41:57,372 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:41:57,372 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:41:57,372 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:41:57 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:41:57,372 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:27 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:41:57,863 [68] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'notificationworker.py', 'pid': '68'} namespacegcworker stdout | 2025-09-26 08:41:58,836 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:41:58,836 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:34.840898+00:00 (in 36.004468 seconds) namespacegcworker stdout | 2025-09-26 08:41:58,836 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:58 GMT)" (scheduled at 2025-09-26 08:41:58.835976+00:00) namespacegcworker stdout | 2025-09-26 08:41:58,836 [66] [DEBUG] [workers.queueworker] Getting work item from queue. namespacegcworker stdout | 2025-09-26 08:41:58,837 [66] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 41, 58, 836741), True, datetime.datetime(2025, 9, 26, 8, 41, 58, 836741), 0, 'namespacegc/%', 50, 1, 0]) namespacegcworker stdout | 2025-09-26 08:41:58,850 [66] [DEBUG] [workers.queueworker] No more work. namespacegcworker stdout | 2025-09-26 08:41:58,850 [66] [DEBUG] [data.database] Disconnecting from database. namespacegcworker stdout | 2025-09-26 08:41:58,850 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:42:58 GMT)" executed successfully globalpromstats stdout | 2025-09-26 08:42:00,249 [58] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'globalpromstats.py', 'pid': '58'} gunicorn-web stdout | 2025-09-26 08:42:02,639 [240] [DEBUG] [app] Starting request: urn:request:7758a330-fc5c-42a7-9a3e-7397b7882d99 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:42:02,640 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:42:02,643 [257] [DEBUG] [app] Starting request: urn:request:f76a8766-5386-4c77-8a1c-04745eed7d01 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:42:02,643 [257] [DEBUG] [app] Ending request: urn:request:f76a8766-5386-4c77-8a1c-04745eed7d01 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:f76a8766-5386-4c77-8a1c-04745eed7d01', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:42:02,643 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:42:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:42:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.001) gunicorn-web stdout | 2025-09-26 08:42:02,644 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:42:02,645 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:42:02,646 [240] [DEBUG] [app] Starting request: urn:request:72143088-c695-4e68-8c70-b936ced5c185 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:42:02,646 [240] [DEBUG] [app] Ending request: urn:request:72143088-c695-4e68-8c70-b936ced5c185 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:72143088-c695-4e68-8c70-b936ced5c185', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:42:02,647 [240] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:42:02 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:42:02 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.001) gunicorn-web stdout | 2025-09-26 08:42:02,647 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:42:02,647 [240] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:42:02,647 [240] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:42:02,647 [240] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:42:02,656 [240] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:42:02,656 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:42:02,666 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:42:02,670 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:42:02,674 [240] [DEBUG] [app] Ending request: urn:request:7758a330-fc5c-42a7-9a3e-7397b7882d99 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:7758a330-fc5c-42a7-9a3e-7397b7882d99', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:42:02,674 [240] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:42:02 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.037 118 0.037) gunicorn-web stdout | 2025-09-26 08:42:02,675 [240] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:42:02 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" gunicorn-web stdout | 2025-09-26 08:42:02,727 [239] [DEBUG] [app] Starting request: urn:request:8aa604ce-5628-43f3-ad0b-08b67ed628d9 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:42:02,728 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:42:02,730 [250] [DEBUG] [app] Starting request: urn:request:db29eea7-85b1-48f5-9360-fda5cc236108 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:42:02,731 [250] [DEBUG] [app] Ending request: urn:request:db29eea7-85b1-48f5-9360-fda5cc236108 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:db29eea7-85b1-48f5-9360-fda5cc236108', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:42:02,731 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:42:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:42:02,731 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:42:02 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.001) gunicorn-web stdout | 2025-09-26 08:42:02,732 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:42:02,734 [239] [DEBUG] [app] Starting request: urn:request:e682987a-fa35-43fe-b6dd-be3457a096f9 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:42:02,734 [239] [DEBUG] [app] Ending request: urn:request:e682987a-fa35-43fe-b6dd-be3457a096f9 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:e682987a-fa35-43fe-b6dd-be3457a096f9', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:42:02,734 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:42:02 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:42:02 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:42:02,735 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:42:02,735 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:42:02,735 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:42:02,735 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:42:02,742 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:42:02,742 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:42:02,752 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:42:02,756 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:42:02,759 [239] [DEBUG] [app] Ending request: urn:request:8aa604ce-5628-43f3-ad0b-08b67ed628d9 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:8aa604ce-5628-43f3-ad0b-08b67ed628d9', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:42:02,760 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:42:02,760 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:42:02 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:42:02 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.033 118 0.033) gunicorn-registry stdout | 2025-09-26 08:42:03,019 [252] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '252'} gunicorn-registry stdout | 2025-09-26 08:42:03,033 [257] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '257'} gunicorn-registry stdout | 2025-09-26 08:42:03,042 [59] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '59'} gunicorn-registry stdout | 2025-09-26 08:42:03,047 [254] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '254'} gunicorn-registry stdout | 2025-09-26 08:42:03,069 [253] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '253'} gunicorn-registry stdout | 2025-09-26 08:42:03,097 [255] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '255'} gunicorn-registry stdout | 2025-09-26 08:42:03,124 [256] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '256'} gunicorn-registry stdout | 2025-09-26 08:42:03,131 [251] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '251'} gunicorn-registry stdout | 2025-09-26 08:42:03,146 [250] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '250'} gunicorn-secscan stdout | 2025-09-26 08:42:03,529 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:42:03 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:42:03 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) proxycacheblobworker stdout | 2025-09-26 08:42:03,546 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:42:03,546 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:13.545186+00:00 (in 9.998858 seconds) proxycacheblobworker stdout | 2025-09-26 08:42:03,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:13 GMT)" (scheduled at 2025-09-26 08:42:03.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:42:03,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:42:03,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 42, 3, 546661), True, datetime.datetime(2025, 9, 26, 8, 42, 3, 546661), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:42:03,558 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:42:03,558 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:42:03,559 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:13 GMT)" executed successfully exportactionlogsworker stdout | 2025-09-26 08:42:03,782 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} gcworker stdout | 2025-09-26 08:42:04,439 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:42:04,439 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:21.444401+00:00 (in 17.004604 seconds) gcworker stdout | 2025-09-26 08:42:04,439 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:34 GMT)" (scheduled at 2025-09-26 08:42:04.439268+00:00) gcworker stdout | 2025-09-26 08:42:04,440 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:42:04,440 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:34 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:42:04,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:42:04,735 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:34.734534+00:00 (in 29.999541 seconds) autopruneworker stdout | 2025-09-26 08:42:04,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:34 GMT)" (scheduled at 2025-09-26 08:42:04.734534+00:00) autopruneworker stdout | 2025-09-26 08:42:04,743 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758872524743, None, 1, 0]) autopruneworker stdout | 2025-09-26 08:42:04,748 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:42:04,748 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:42:04,748 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:34 GMT)" executed successfully gunicorn-secscan stdout | 2025-09-26 08:42:05,056 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:42:05 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:42:05 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) notificationworker stdout | 2025-09-26 08:42:06,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:42:06,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:16.440077+00:00 (in 9.999563 seconds) notificationworker stdout | 2025-09-26 08:42:06,441 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:16 GMT)" (scheduled at 2025-09-26 08:42:06.440077+00:00) notificationworker stdout | 2025-09-26 08:42:06,441 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:42:06,442 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 42, 6, 441468), True, datetime.datetime(2025, 9, 26, 8, 42, 6, 441468), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:42:06,456 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:42:06,456 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:42:06,456 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:16 GMT)" executed successfully autopruneworker stdout | 2025-09-26 08:42:07,067 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} buildlogsarchiver stdout | 2025-09-26 08:42:09,351 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:42:09,352 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:39.351551+00:00 (in 29.999464 seconds) buildlogsarchiver stdout | 2025-09-26 08:42:09,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:39 GMT)" (scheduled at 2025-09-26 08:42:09.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:42:09,353 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 42, 9, 352449), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:42:09,366 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:42:09,366 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:42:09,366 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:39 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:42:09,367 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} manifestbackfillworker stdout | 2025-09-26 08:42:10,460 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} proxycacheblobworker stdout | 2025-09-26 08:42:13,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:42:13,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:13.548017+00:00 (in 0.002369 seconds) proxycacheblobworker stdout | 2025-09-26 08:42:13,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:23 GMT)" (scheduled at 2025-09-26 08:42:13.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:42:13,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:42:13,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 42, 13, 546071), True, datetime.datetime(2025, 9, 26, 8, 42, 13, 546071), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:42:13,548 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:42:13,548 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:23.545186+00:00 (in 9.996816 seconds) proxycacheblobworker stdout | 2025-09-26 08:42:13,549 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:13 GMT)" (scheduled at 2025-09-26 08:42:13.548017+00:00) proxycacheblobworker stdout | 2025-09-26 08:42:13,549 [69] [DEBUG] [workers.queueworker] Running watchdog. proxycacheblobworker stdout | 2025-09-26 08:42:13,549 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:13 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:42:13,561 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:42:13,561 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:42:13,561 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:23 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:42:13,758 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:42:13,758 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:13.760217+00:00 (in 0.001856 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:42:13,758 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:13 GMT)" (scheduled at 2025-09-26 08:42:13.757911+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:42:13,759 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."subject_backfilled" = %s) OR ("t1"."subject_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:42:13,760 [64] [DEBUG] [apscheduler.scheduler] Looking for jobs to run manifestsubjectbackfillworker stdout | 2025-09-26 08:42:13,760 [64] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:43:13.757911+00:00 (in 59.997373 seconds) manifestsubjectbackfillworker stdout | 2025-09-26 08:42:13,760 [64] [INFO] [apscheduler.executors.default] Running job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:13 GMT)" (scheduled at 2025-09-26 08:42:13.760217+00:00) manifestsubjectbackfillworker stdout | 2025-09-26 08:42:13,761 [64] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled" FROM "manifest" AS "t1" WHERE (("t1"."artifact_type_backfilled" = %s) OR ("t1"."artifact_type_backfilled" IS %s)) LIMIT %s OFFSET %s', [False, None, 1, 0]) manifestsubjectbackfillworker stdout | 2025-09-26 08:42:13,771 [64] [DEBUG] [__main__] Manifest subject backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:42:13,771 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:42:13,774 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_subject (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:13 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:42:13,778 [64] [DEBUG] [__main__] Manifest artifact_type backfill worker has completed; skipping manifestsubjectbackfillworker stdout | 2025-09-26 08:42:13,779 [64] [DEBUG] [data.database] Disconnecting from database. manifestsubjectbackfillworker stdout | 2025-09-26 08:42:13,779 [64] [INFO] [apscheduler.executors.default] Job "ManifestSubjectBackfillWorker._backfill_manifest_artifact_type (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:13 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:42:16,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:42:16,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:26.440077+00:00 (in 9.999558 seconds) notificationworker stdout | 2025-09-26 08:42:16,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:26 GMT)" (scheduled at 2025-09-26 08:42:16.440077+00:00) notificationworker stdout | 2025-09-26 08:42:16,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:42:16,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 42, 16, 440883), True, datetime.datetime(2025, 9, 26, 8, 42, 16, 440883), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:42:16,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:42:16,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:42:16,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:26 GMT)" executed successfully securityworker stdout | 2025-09-26 08:42:17,473 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} gunicorn-web stdout | 2025-09-26 08:42:17,639 [239] [DEBUG] [app] Starting request: urn:request:2a127b39-7e79-4d7a-9cc2-8d4debda0e9e (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:42:17,640 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:42:17,643 [250] [DEBUG] [app] Starting request: urn:request:5e809cad-009f-4d3b-833b-451c2e22892f (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:42:17,643 [250] [DEBUG] [app] Ending request: urn:request:5e809cad-009f-4d3b-833b-451c2e22892f (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:5e809cad-009f-4d3b-833b-451c2e22892f', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:42:17,644 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:42:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:42:17,644 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:42:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 162 0.002) gunicorn-web stdout | 2025-09-26 08:42:17,645 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:42:17,648 [239] [DEBUG] [app] Starting request: urn:request:c82606ec-1c02-4799-86a6-40cbcacb31f2 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:42:17,648 [239] [DEBUG] [app] Ending request: urn:request:c82606ec-1c02-4799-86a6-40cbcacb31f2 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:c82606ec-1c02-4799-86a6-40cbcacb31f2', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:42:17,648 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:42:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:42:17,649 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:42:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:42:17,650 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:42:17,650 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:42:17,650 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:42:17,657 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:42:17,657 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:42:17,668 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:42:17,671 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:42:17,675 [239] [DEBUG] [app] Ending request: urn:request:2a127b39-7e79-4d7a-9cc2-8d4debda0e9e (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:2a127b39-7e79-4d7a-9cc2-8d4debda0e9e', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:42:17,675 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:42:17,676 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:42:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:42:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.037 118 0.038) gunicorn-web stdout | 2025-09-26 08:42:17,727 [239] [DEBUG] [app] Starting request: urn:request:a26c3bb5-422a-432c-ae8d-3eba55c12139 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-registry stdout | 2025-09-26 08:42:17,732 [250] [DEBUG] [app] Starting request: urn:request:63153ce2-ba0e-4e76-97e1-8c2b3334b0d0 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:42:17,733 [250] [DEBUG] [app] Ending request: urn:request:63153ce2-ba0e-4e76-97e1-8c2b3334b0d0 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:63153ce2-ba0e-4e76-97e1-8c2b3334b0d0', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:42:17,733 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:42:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:42:17 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-web stdout | 2025-09-26 08:42:17,733 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:42:17,735 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:42:17,736 [239] [DEBUG] [app] Starting request: urn:request:7437987b-81d3-42a4-8ad0-c119501c098e (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:42:17,737 [239] [DEBUG] [app] Ending request: urn:request:7437987b-81d3-42a4-8ad0-c119501c098e (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:7437987b-81d3-42a4-8ad0-c119501c098e', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:42:17 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:42:17,737 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:42:17 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:42:17,737 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:42:17,738 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:42:17,738 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:42:17,738 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:42:17,746 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:42:17,746 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:42:17,756 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:42:17,760 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:42:17,763 [239] [DEBUG] [app] Ending request: urn:request:a26c3bb5-422a-432c-ae8d-3eba55c12139 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:a26c3bb5-422a-432c-ae8d-3eba55c12139', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:42:17,763 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:42:17 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.037 118 0.037) gunicorn-web stdout | 2025-09-26 08:42:17,764 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:42:17 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" securityworker stdout | 2025-09-26 08:42:19,334 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:42:19,334 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:27.335452+00:00 (in 8.000713 seconds) securityworker stdout | 2025-09-26 08:42:19,334 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:49 GMT)" (scheduled at 2025-09-26 08:42:19.334273+00:00) securityworker stdout | 2025-09-26 08:42:19,335 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:42:19,335 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:42:19,338 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:42:19,339 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:42:19,350 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stdout | 2025-09-26 08:42:19,351 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:49 GMT)" executed successfully gunicorn-secscan stdout | 2025-09-26 08:42:20,132 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:42:20 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:20 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) logrotateworker stdout | 2025-09-26 08:42:20,499 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} gcworker stdout | 2025-09-26 08:42:21,444 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:42:21,444 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:34.439268+00:00 (in 12.994356 seconds) gcworker stdout | 2025-09-26 08:42:21,445 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:51 GMT)" (scheduled at 2025-09-26 08:42:21.444401+00:00) gcworker stdout | 2025-09-26 08:42:21,445 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) gcworker stdout | 2025-09-26 08:42:21,457 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875841456, None, 1, 0]) gcworker stdout | 2025-09-26 08:42:21,461 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:42:21,461 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:51 GMT)" executed successfully buildlogsarchiver stdout | 2025-09-26 08:42:21,577 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'} securityscanningnotificationworker stdout | 2025-09-26 08:42:22,245 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:42:22,245 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:42.242482+00:00 (in 19.996769 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:42:22,245 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:22 GMT)" (scheduled at 2025-09-26 08:42:22.245238+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:42:22,246 [88] [DEBUG] [workers.queueworker] Running watchdog. securityscanningnotificationworker stdout | 2025-09-26 08:42:22,246 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:22 GMT)" executed successfully manifestsubjectbackfillworker stdout | 2025-09-26 08:42:22,283 [64] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestsubjectbackfillworker.py', 'pid': '64'} gunicorn-secscan stdout | 2025-09-26 08:42:22,804 [228] [INFO] [gunicorn.access] - - [26/Sep/2025:08:42:22 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:42:22 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 959 0.001) repositorygcworker stdout | 2025-09-26 08:42:23,149 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:42:23,149 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:39.235682+00:00 (in 16.086030 seconds) repositorygcworker stdout | 2025-09-26 08:42:23,150 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:23 GMT)" (scheduled at 2025-09-26 08:42:23.149141+00:00) repositorygcworker stdout | 2025-09-26 08:42:23,150 [86] [DEBUG] [workers.queueworker] Getting work item from queue. repositorygcworker stdout | 2025-09-26 08:42:23,150 [86] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 42, 23, 150327), True, datetime.datetime(2025, 9, 26, 8, 42, 23, 150327), 0, 'repositorygc/%', 50, 1, 0]) repositorygcworker stdout | 2025-09-26 08:42:23,164 [86] [DEBUG] [workers.queueworker] No more work. repositorygcworker stdout | 2025-09-26 08:42:23,164 [86] [DEBUG] [data.database] Disconnecting from database. repositorygcworker stdout | 2025-09-26 08:42:23,165 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:23 GMT)" executed successfully storagereplication stdout | 2025-09-26 08:42:23,339 [95] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'storagereplication.py', 'pid': '95'} proxycacheblobworker stdout | 2025-09-26 08:42:23,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:42:23,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:33.545186+00:00 (in 9.999547 seconds) proxycacheblobworker stdout | 2025-09-26 08:42:23,545 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:33 GMT)" (scheduled at 2025-09-26 08:42:23.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:42:23,545 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:42:23,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 42, 23, 546001), True, datetime.datetime(2025, 9, 26, 8, 42, 23, 546001), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:42:23,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:42:23,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:42:23,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:33 GMT)" executed successfully servicekey stdout | 2025-09-26 08:42:23,864 [93] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'servicekeyworker.py', 'pid': '93'} teamsyncworker stdout | 2025-09-26 08:42:23,868 [105] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'teamsyncworker.py', 'pid': '105'} blobuploadcleanupworker stdout | 2025-09-26 08:42:23,946 [50] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'blobuploadcleanupworker.py', 'pid': '50'} gcworker stdout | 2025-09-26 08:42:24,260 [57] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'gcworker.py', 'pid': '57'} queuecleanupworker stdout | 2025-09-26 08:42:24,372 [71] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'queuecleanupworker.py', 'pid': '71'} securityscanningnotificationworker stdout | 2025-09-26 08:42:24,708 [88] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityscanningnotificationworker.py', 'pid': '88'} chunkcleanupworker stdout | 2025-09-26 08:42:24,987 [53] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'chunkcleanupworker.py', 'pid': '53'} repositorygcworker stdout | 2025-09-26 08:42:25,691 [86] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositorygcworker.py', 'pid': '86'} gunicorn-secscan stdout | 2025-09-26 08:42:25,856 [227] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '227'} gunicorn-secscan stdout | 2025-09-26 08:42:25,862 [228] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '228'} gunicorn-secscan stdout | 2025-09-26 08:42:25,867 [60] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'secscan:application', 'pid': '60'} gunicorn-secscan stdout | 2025-09-26 08:42:26,000 [227] [INFO] [gunicorn.access] - - [26/Sep/2025:08:42:25 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:26 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) namespacegcworker stdout | 2025-09-26 08:42:26,081 [66] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'namespacegcworker.py', 'pid': '66'} notificationworker stdout | 2025-09-26 08:42:26,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:42:26,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:34.441526+00:00 (in 8.000976 seconds) notificationworker stdout | 2025-09-26 08:42:26,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:36 GMT)" (scheduled at 2025-09-26 08:42:26.440077+00:00) notificationworker stdout | 2025-09-26 08:42:26,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:42:26,442 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 42, 26, 440931), True, datetime.datetime(2025, 9, 26, 8, 42, 26, 440931), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:42:26,454 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:42:26,454 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:42:26,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:36 GMT)" executed successfully repositoryactioncounter stdout | 2025-09-26 08:42:26,575 [80] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'repositoryactioncounter.py', 'pid': '80'} expiredappspecifictokenworker stdout | 2025-09-26 08:42:26,675 [55] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'expiredappspecifictokenworker.py', 'pid': '55'} gunicorn-web stdout | 2025-09-26 08:42:26,740 [240] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '240'} gunicorn-web stdout | 2025-09-26 08:42:26,775 [239] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '239'} gunicorn-web stdout | 2025-09-26 08:42:26,854 [61] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '61'} gunicorn-web stdout | 2025-09-26 08:42:26,868 [242] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '242'} gunicorn-web stdout | 2025-09-26 08:42:26,872 [241] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'web:application', 'pid': '241'} builder stdout | 2025-09-26 08:42:26,985 [51] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'builder.py', 'pid': '51'} securityworker stdout | 2025-09-26 08:42:27,335 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:42:27,335 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:49.334273+00:00 (in 21.998347 seconds) securityworker stdout | 2025-09-26 08:42:27,336 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:57 GMT)" (scheduled at 2025-09-26 08:42:27.335452+00:00) securityworker stdout | 2025-09-26 08:42:27,336 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:42:27,336 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:42:27,338 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:42:27,341 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:42:27,353 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:42:27,353 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:42:27,353 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:42:27,353 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:42:27,354 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 36]) securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:42:27,358 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:42:27,358 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:42:27,358 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:42:27,358 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:42:27,358 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:42:27,358 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:42:27,358 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:42:27,358 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:42:27,358 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:42:27,358 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:42:27,359 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:42:27,359 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 37, 27, 341014), 1, 36]) securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:42:27,362 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:42:27,362 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:42:27,362 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:42:27,362 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:42:27,362 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:42:27,362 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:42:27,362 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:42:27,363 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:42:27,363 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:42:27,363 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:42:27,363 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:42:27,363 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 37, 27, 341014), 1, 36]) securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:42:27,367 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-36 by worker securityworker stdout | 2025-09-26 08:42:27,367 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stdout | 2025-09-26 08:42:27,367 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:42:27,367 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stdout | 2025-09-26 08:42:27,367 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-36 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 36 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:42:27,367 [89] [DEBUG] [util.migrate.allocator] Total range: 36-1 securityworker stdout | 2025-09-26 08:42:27,367 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:42:27,367 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:42:27 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:42:27,367 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_recent_manifests_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:42:57 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:42:27,881 [68] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'notificationworker.py', 'pid': '68'} globalpromstats stdout | 2025-09-26 08:42:30,265 [58] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'globalpromstats.py', 'pid': '58'} gunicorn-web stdout | 2025-09-26 08:42:32,639 [242] [DEBUG] [app] Starting request: urn:request:3cd0834a-7f4b-4f14-a991-060abbf67ebe (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:42:32,640 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:42:32,641 [250] [DEBUG] [app] Starting request: urn:request:e61a1635-6de6-43b2-99fa-7d16fb776686 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:42:32,642 [250] [DEBUG] [app] Ending request: urn:request:e61a1635-6de6-43b2-99fa-7d16fb776686 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:e61a1635-6de6-43b2-99fa-7d16fb776686', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:42:32,642 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:42:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:42:32,643 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:42:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-web stdout | 2025-09-26 08:42:32,644 [242] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:42:32,645 [242] [DEBUG] [app] Starting request: urn:request:ab82ead3-ca41-46c9-9b46-3157ef8f0a8f (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:42:32,646 [242] [DEBUG] [app] Ending request: urn:request:ab82ead3-ca41-46c9-9b46-3157ef8f0a8f (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:ab82ead3-ca41-46c9-9b46-3157ef8f0a8f', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:42:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.001) gunicorn-web stdout | 2025-09-26 08:42:32,646 [242] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:42:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:42:32,646 [242] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:42:32,647 [242] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:42:32,647 [242] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:42:32,647 [242] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:42:32,656 [242] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:42:32,656 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:42:32,665 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:42:32,669 [242] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:42:32,672 [242] [DEBUG] [app] Ending request: urn:request:3cd0834a-7f4b-4f14-a991-060abbf67ebe (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:3cd0834a-7f4b-4f14-a991-060abbf67ebe', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:42:32,672 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:42:32,672 [242] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:42:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:42:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.034 118 0.034) gunicorn-web stdout | 2025-09-26 08:42:32,727 [239] [DEBUG] [app] Starting request: urn:request:152a9481-eaf8-4c37-bf99-62cc0036b64a (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:42:32,728 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:42:32,730 [257] [DEBUG] [app] Starting request: urn:request:e105ea68-ab41-4fb0-ae58-6783ba30ae21 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:42:32,730 [257] [DEBUG] [app] Ending request: urn:request:e105ea68-ab41-4fb0-ae58-6783ba30ae21 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:e105ea68-ab41-4fb0-ae58-6783ba30ae21', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:42:32,730 [257] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:42:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:42:32 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-web stdout | 2025-09-26 08:42:32,730 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:42:32,731 [239] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:42:32,733 [239] [DEBUG] [app] Starting request: urn:request:9b262783-82ef-42e7-8f57-20deaf8b4de5 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:42:32,734 [239] [DEBUG] [app] Ending request: urn:request:9b262783-82ef-42e7-8f57-20deaf8b4de5 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:9b262783-82ef-42e7-8f57-20deaf8b4de5', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:42:32,734 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:42:32 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:42:32 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:42:32,734 [239] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:42:32,735 [239] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:42:32,735 [239] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:42:32,735 [239] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:42:32,742 [239] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:42:32,743 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:42:32,753 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:42:32,756 [239] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:42:32,759 [239] [DEBUG] [app] Ending request: urn:request:152a9481-eaf8-4c37-bf99-62cc0036b64a (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:152a9481-eaf8-4c37-bf99-62cc0036b64a', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:42:32,760 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:42:32 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.034 118 0.034) gunicorn-web stdout | 2025-09-26 08:42:32,760 [239] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:42:32 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" gunicorn-registry stdout | 2025-09-26 08:42:33,037 [252] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '252'} gunicorn-registry stdout | 2025-09-26 08:42:33,053 [257] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '257'} gunicorn-registry stdout | 2025-09-26 08:42:33,062 [59] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '59'} gunicorn-registry stdout | 2025-09-26 08:42:33,077 [254] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '254'} gunicorn-registry stdout | 2025-09-26 08:42:33,099 [253] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '253'} gunicorn-registry stdout | 2025-09-26 08:42:33,116 [255] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '255'} gunicorn-registry stdout | 2025-09-26 08:42:33,149 [251] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '251'} gunicorn-registry stdout | 2025-09-26 08:42:33,156 [256] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '256'} gunicorn-registry stdout | 2025-09-26 08:42:33,166 [250] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'registry:application', 'pid': '250'} gunicorn-web stdout | 2025-09-26 08:42:33,515 [242] [DEBUG] [app] Starting request: urn:request:748d314a-e93d-4dae-a4cf-dfac5dc7c7b6 (/superuser/) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:42:33,532 [242] [DEBUG] [endpoints.api.discovery] Unable to find method for POST in class proxycacheblobworker stdout | 2025-09-26 08:42:33,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:42:33,546 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:43.545186+00:00 (in 9.998847 seconds) proxycacheblobworker stdout | 2025-09-26 08:42:33,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:43 GMT)" (scheduled at 2025-09-26 08:42:33.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:42:33,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:42:33,547 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 42, 33, 546673), True, datetime.datetime(2025, 9, 26, 8, 42, 33, 546673), 0, 'proxycacheblob/%', 50, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:33,548 [242] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c proxycacheblobworker stdout | 2025-09-26 08:42:33,561 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:42:33,561 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:42:33,561 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:43 GMT)" executed successfully gunicorn-web stdout | 2025-09-26 08:42:33,569 [242] [DEBUG] [app] Ending request: urn:request:748d314a-e93d-4dae-a4cf-dfac5dc7c7b6 (/superuser/) {'endpoint': 'web.superuser', 'request_id': 'urn:request:748d314a-e93d-4dae-a4cf-dfac5dc7c7b6', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations', 'path': '/superuser/', 'parameters': {'tab': 'organizations'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:42:33,570 [242] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:42:33 +0000] "GET /superuser/?tab=organizations HTTP/1.0" 200 91952 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:33 +0000] "GET /superuser/?tab=organizations HTTP/1.1" 200 14100 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/signin/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.056 2457 0.056) exportactionlogsworker stdout | 2025-09-26 08:42:33,798 [56] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'exportactionlogsworker.py', 'pid': '56'} nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:34 +0000] "GET /static/ldn/font-awesome.css-a166e3c966c6.css HTTP/1.1" 200 8417 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2297 -) gcworker stdout | 2025-09-26 08:42:34,439 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:42:34,439 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:51.444401+00:00 (in 17.004517 seconds) gcworker stdout | 2025-09-26 08:42:34,440 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:43:04 GMT)" (scheduled at 2025-09-26 08:42:34.439268+00:00) gcworker stdout | 2025-09-26 08:42:34,440 [57] [DEBUG] [__main__] No GC policies found gcworker stdout | 2025-09-26 08:42:34,440 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._garbage_collection_repos (trigger: interval[0:00:30], next run at: 2025-09-26 08:43:04 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:42:34,441 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:42:34,442 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:36.440077+00:00 (in 1.998038 seconds) notificationworker stdout | 2025-09-26 08:42:34,442 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:34 GMT)" (scheduled at 2025-09-26 08:42:34.441526+00:00) notificationworker stdout | 2025-09-26 08:42:34,442 [68] [DEBUG] [workers.queueworker] Running watchdog. notificationworker stdout | 2025-09-26 08:42:34,442 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:34 GMT)" executed successfully nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:34 +0000] "GET /static/ldn/bootstrap.min.css-13f668494557.css HTTP/1.1" 200 24440 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2298 -) autopruneworker stdout | 2025-09-26 08:42:34,734 [49] [DEBUG] [apscheduler.scheduler] Looking for jobs to run autopruneworker stdout | 2025-09-26 08:42:34,735 [49] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:43:04.734534+00:00 (in 29.999545 seconds) autopruneworker stdout | 2025-09-26 08:42:34,735 [49] [INFO] [apscheduler.executors.default] Running job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:43:04 GMT)" (scheduled at 2025-09-26 08:42:34.734534+00:00) autopruneworker stdout | 2025-09-26 08:42:34,744 [49] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."last_ran_ms", "t1"."status" FROM "autoprunetaskstatus" AS "t1" WHERE (("t1"."namespace_id" NOT IN (SELECT "t2"."id" FROM "user" AS "t2" WHERE (("t2"."enabled" = %s) AND ("t2"."id" = "t1"."namespace_id")))) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [False, 1758872554743, None, 1, 0]) autopruneworker stdout | 2025-09-26 08:42:34,749 [49] [INFO] [__main__] no autoprune tasks found, exiting... autopruneworker stdout | 2025-09-26 08:42:34,749 [49] [DEBUG] [data.database] Disconnecting from database. autopruneworker stdout | 2025-09-26 08:42:34,749 [49] [INFO] [apscheduler.executors.default] Job "AutoPruneWorker.prune (trigger: interval[0:00:30], next run at: 2025-09-26 08:43:04 GMT)" executed successfully namespacegcworker stdout | 2025-09-26 08:42:34,841 [66] [DEBUG] [apscheduler.scheduler] Looking for jobs to run namespacegcworker stdout | 2025-09-26 08:42:34,841 [66] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:58.835976+00:00 (in 23.994633 seconds) namespacegcworker stdout | 2025-09-26 08:42:34,841 [66] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:34 GMT)" (scheduled at 2025-09-26 08:42:34.840898+00:00) namespacegcworker stdout | 2025-09-26 08:42:34,841 [66] [DEBUG] [workers.queueworker] Running watchdog. namespacegcworker stdout | 2025-09-26 08:42:34,841 [66] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:34 GMT)" executed successfully nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:35 +0000] "GET /static/ldn/bootstrap-datetimepicker.min.css-4b15a4ede750.css HTTP/1.1" 200 1482 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2313 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:35 +0000] "GET /static/ldn/cal-heatmap.css-904c3b9e8a60.css HTTP/1.1" 200 799 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2296 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:35 +0000] "GET /static/ldn/ng-tags-input.min.css-7782190f81cd.css HTTP/1.1" 200 1079 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2302 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:35 +0000] "GET /static/ldn/cssfamilySourceSansPro300400700-30cd793a4b9b.css HTTP/1.1" 200 236 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2312 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:35 +0000] "GET /static/ldn/jquery.js-3c5c5966471e.js HTTP/1.1" 200 102811 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2275 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:35 +0000] "GET /static/ldn/bootstrap.min.js-0e773844b374.js HTTP/1.1" 200 11303 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2282 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:36 +0000] "GET /static/ldn/angular.min.js-8c21e8f36c0e.js HTTP/1.1" 200 67557 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2280 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:36 +0000] "GET /static/ldn/angular-route.min.js-4245c439070d.js HTTP/1.1" 200 2702 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2286 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:36 +0000] "GET /static/ldn/angular-sanitize.min.js-c4e272d90cfb.js HTTP/1.1" 200 3295 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2289 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:36 +0000] "GET /static/ldn/angular-animate.min.js-88cbe10f92f2.js HTTP/1.1" 200 10421 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2288 -) notificationworker stdout | 2025-09-26 08:42:36,440 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:42:36,440 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:46.440077+00:00 (in 9.999474 seconds) notificationworker stdout | 2025-09-26 08:42:36,440 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:46 GMT)" (scheduled at 2025-09-26 08:42:36.440077+00:00) notificationworker stdout | 2025-09-26 08:42:36,440 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:42:36,441 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 42, 36, 440981), True, datetime.datetime(2025, 9, 26, 8, 42, 36, 440981), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:42:36,455 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:42:36,455 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:42:36,455 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:46 GMT)" executed successfully nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:36 +0000] "GET /static/ldn/angular-cookies.min.js-d418ab53e9d7.js HTTP/1.1" 200 846 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2288 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:36 +0000] "GET /static/ldn/moment.min.js-95505f39902e.js HTTP/1.1" 200 22167 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2279 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:36 +0000] "GET /static/ldn/bootstrap-datepicker.min.js-3e3d8e141d5e.js HTTP/1.1" 200 9323 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2293 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:36 +0000] "GET /static/ldn/bootstrap-datetimepicker.min.js-6612bb423b71.js HTTP/1.1" 200 10832 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2297 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:36 +0000] "GET /static/ldn/bootbox4.1.0underscorejs1.5.2restangular1.2.0d3js3.3.3-6d47ddfef9c5.js HTTP/1.1" 200 71199 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2320 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:36 +0000] "GET /static/ldn/raven.min.js-ecd480647a39.js HTTP/1.1" 200 9505 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2278 -) autopruneworker stdout | 2025-09-26 08:42:37,084 [49] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'autopruneworker.py', 'pid': '49'} nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:37 +0000] "GET /static/ldn/cal-heatmap.min.js-8ffad728269a.js HTTP/1.1" 200 13004 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2284 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:37 +0000] "GET /static/ldn/angular-recaptcha.min.js-23859fca3602.js HTTP/1.1" 200 1793 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2290 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:37 +0000] "GET /static/ldn/ng-tags-input.min.js-fa3026ba8409.js HTTP/1.1" 200 6102 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2286 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:37 +0000] "GET /static/ldn/typeahead.bundle.min.js-716151ca4e5d.js HTTP/1.1" 200 16673 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2289 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:37 +0000] "GET /static/build/main-quay-frontend-646853b3bd4264fd033e.bundle.js HTTP/1.1" 200 730967 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2301 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:37 +0000] "GET /static/standalonelib/jquery.overscroll.min.js HTTP/1.1" 200 3491 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2284 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:38 +0000] "GET /static/img/RedHat.svg HTTP/1.1" 200 1245 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2320 -) repositorygcworker stdout | 2025-09-26 08:42:39,235 [86] [DEBUG] [apscheduler.scheduler] Looking for jobs to run repositorygcworker stdout | 2025-09-26 08:42:39,236 [86] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:43:23.149141+00:00 (in 43.912597 seconds) repositorygcworker stdout | 2025-09-26 08:42:39,236 [86] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:39 GMT)" (scheduled at 2025-09-26 08:42:39.235682+00:00) repositorygcworker stdout | 2025-09-26 08:42:39,236 [86] [DEBUG] [workers.queueworker] Running watchdog. repositorygcworker stdout | 2025-09-26 08:42:39,236 [86] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:39 GMT)" executed successfully buildlogsarchiver stdout | 2025-09-26 08:42:39,351 [52] [DEBUG] [apscheduler.scheduler] Looking for jobs to run buildlogsarchiver stdout | 2025-09-26 08:42:39,352 [52] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:43:09.351551+00:00 (in 29.999498 seconds) buildlogsarchiver stdout | 2025-09-26 08:42:39,352 [52] [INFO] [apscheduler.executors.default] Running job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:43:09 GMT)" (scheduled at 2025-09-26 08:42:39.351551+00:00) buildlogsarchiver stdout | 2025-09-26 08:42:39,352 [52] [DEBUG] [peewee] ('SELECT "candidates"."id" FROM (SELECT "t1"."id" FROM "repositorybuild" AS "t1" WHERE ((("t1"."phase" IN (%s, %s, %s)) OR ("t1"."started" < %s)) AND ("t1"."logs_archived" = %s)) LIMIT %s) AS "candidates" ORDER BY Random() LIMIT %s OFFSET %s', ['complete', 'error', 'cancelled', datetime.datetime(2025, 9, 11, 8, 42, 39, 352341), False, 50, 1, 0]) buildlogsarchiver stdout | 2025-09-26 08:42:39,366 [52] [DEBUG] [__main__] No more builds to archive buildlogsarchiver stdout | 2025-09-26 08:42:39,366 [52] [DEBUG] [data.database] Disconnecting from database. buildlogsarchiver stdout | 2025-09-26 08:42:39,366 [52] [INFO] [apscheduler.executors.default] Job "ArchiveBuildLogsWorker._archive_redis_buildlogs (trigger: interval[0:00:30], next run at: 2025-09-26 08:43:09 GMT)" executed successfully proxycacheblobworker stdout | 2025-09-26 08:42:39,385 [69] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'proxycacheblobworker.py', 'pid': '69'} manifestbackfillworker stdout | 2025-09-26 08:42:40,477 [63] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'manifestbackfillworker.py', 'pid': '63'} securityscanningnotificationworker stdout | 2025-09-26 08:42:42,242 [88] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityscanningnotificationworker stdout | 2025-09-26 08:42:42,242 [88] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:43:22.245238+00:00 (in 40.002273 seconds) securityscanningnotificationworker stdout | 2025-09-26 08:42:42,243 [88] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:42 GMT)" (scheduled at 2025-09-26 08:42:42.242482+00:00) securityscanningnotificationworker stdout | 2025-09-26 08:42:42,243 [88] [DEBUG] [workers.queueworker] Getting work item from queue. securityscanningnotificationworker stdout | 2025-09-26 08:42:42,259 [88] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 42, 42, 243298), True, datetime.datetime(2025, 9, 26, 8, 42, 42, 243298), 0, 'secscanv4/%', 50, 1, 0]) securityscanningnotificationworker stdout | 2025-09-26 08:42:42,271 [88] [DEBUG] [workers.queueworker] No more work. securityscanningnotificationworker stdout | 2025-09-26 08:42:42,271 [88] [DEBUG] [data.database] Disconnecting from database. securityscanningnotificationworker stdout | 2025-09-26 08:42:42,272 [88] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:42 GMT)" executed successfully nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:42 +0000] "GET /static/build/83-quay-frontend.chunk.js HTTP/1.1" 200 1717 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2277 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:42 +0000] "GET /static/build/135-quay-frontend.chunk.js HTTP/1.1" 200 975 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2278 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:42 +0000] "GET /static/build/18-quay-frontend.chunk.js HTTP/1.1" 200 997 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2277 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:42 +0000] "GET /static/build/181-quay-frontend.chunk.js HTTP/1.1" 200 952 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2278 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:42 +0000] "GET /static/build/152-quay-frontend.chunk.js HTTP/1.1" 200 313 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2278 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:42 +0000] "GET /static/build/112-quay-frontend.chunk.js HTTP/1.1" 200 767 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2278 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:43 +0000] "GET /static/img/network-tile.png HTTP/1.1" 200 6289 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2326 -) gunicorn-web stdout | 2025-09-26 08:42:43,253 [239] [DEBUG] [app] Starting request: urn:request:2bb63191-fb9d-419c-bd12-6ad459e6e641 (/api/v1/user/) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:42:43,253 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,253 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,254 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,266 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:42:43,267 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:42:43,267 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,267 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,267 [239] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,267 [239] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,267 [239] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,268 [239] [DEBUG] [peewee] ('SELECT DISTINCT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" INNER JOIN "team" AS "t2" ON ("t2"."organization_id" = "t1"."id") INNER JOIN "teammember" AS "t3" ON ("t3"."team_id" = "t2"."id") INNER JOIN "user" AS "t4" ON ("t4"."id" = "t3"."user_id") WHERE (("t1"."organization" = %s) AND ("t4"."username" = %s))', [True, 'quay']) gunicorn-web stdout | 2025-09-26 08:42:43,273 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,274 [239] [DEBUG] [peewee] ('SELECT "t1"."service_ident", "t2"."name", "t1"."metadata_json" FROM "federatedlogin" AS "t1" INNER JOIN "loginservice" AS "t2" ON ("t1"."service_id" = "t2"."id") WHERE (("t2"."name" != %s) AND ("t1"."user_id" = %s))', ['quayrobot', 1]) gunicorn-web stdout | 2025-09-26 08:42:43,277 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."user_id", "t1"."kind_id" FROM "userprompt" AS "t1" INNER JOIN "userpromptkind" AS "t2" ON ("t1"."kind_id" = "t2"."id") WHERE ("t1"."user_id" = %s)', [1]) gunicorn-web stdout | 2025-09-26 08:42:43,282 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['quay', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,285 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-web stdout | 2025-09-26 08:42:43,288 [241] [DEBUG] [app] Starting request: urn:request:8ad499b2-4601-443e-8fa7-a30bf9f604bd (/api/v1/messages) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:42:43,288 [242] [DEBUG] [app] Starting request: urn:request:710dadcb-61dd-4261-bffb-57f5afdaff34 (/api/v1/superuser/registrystatus) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:42:43,288 [241] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,288 [242] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,288 [241] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,288 [242] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,289 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quay', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,289 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,289 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,290 [240] [DEBUG] [app] Starting request: urn:request:d822e995-c1de-4222-b1ac-6f89b9a8d8dc (/api/v1/superuser/registrysize/) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:42:43,291 [240] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,291 [240] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,291 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,293 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-web stdout | 2025-09-26 08:42:43,296 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,300 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,300 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,301 [241] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:42:43,301 [242] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:42:43,301 [241] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:42:43,301 [241] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,301 [242] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:42:43,301 [242] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,301 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-web stdout | 2025-09-26 08:42:43,302 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."content", "t1"."uuid", "t1"."severity", "t1"."media_type_id", "t2"."id", "t2"."name" FROM "messages" AS "t1" INNER JOIN "mediatype" AS "t2" ON ("t1"."media_type_id" = "t2"."id")', []) gunicorn-web stdout | 2025-09-26 08:42:43,302 [242] [DEBUG] [app] Ending request: urn:request:710dadcb-61dd-4261-bffb-57f5afdaff34 (/api/v1/superuser/registrystatus) {'endpoint': 'api.superuserregistrystatus', 'request_id': 'urn:request:710dadcb-61dd-4261-bffb-57f5afdaff34', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/registrystatus', 'path': '/api/v1/superuser/registrystatus', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:42:43,303 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:42:43,303 [240] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:42:43,303 [240] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:42:43,303 [240] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,303 [242] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/superuser/registrystatus HTTP/1.0" 200 42 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/superuser/registrystatus HTTP/1.1" 200 42 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.016 2410 0.016) gunicorn-web stdout | 2025-09-26 08:42:43,303 [240] [DEBUG] [endpoints.api] Checking fresh login for user quay: Last login at 2025-09-26 08:37:21+00:00 gunicorn-web stdout | 2025-09-26 08:42:43,303 [240] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,304 [240] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,304 [240] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,304 [240] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,304 [240] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:42:43,304 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."size_bytes", "t1"."running", "t1"."queued", "t1"."completed_ms" FROM "quotaregistrysize" AS "t1" LIMIT %s OFFSET %s', [1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,304 [242] [DEBUG] [app] Starting request: urn:request:8ccfba24-2ad1-4a7a-b28f-53a6e52bbfc6 (/api/v1/superuser/organizations/) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:42:43,305 [242] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,305 [242] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,305 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,305 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,305 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,305 [241] [DEBUG] [app] Ending request: urn:request:8ad499b2-4601-443e-8fa7-a30bf9f604bd (/api/v1/messages) {'endpoint': 'api.globalusermessages', 'request_id': 'urn:request:8ad499b2-4601-443e-8fa7-a30bf9f604bd', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/messages', 'path': '/api/v1/messages', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:42:43,306 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,306 [241] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:42:43,306 [241] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/messages HTTP/1.0" 200 17 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/messages HTTP/1.1" 200 17 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.019 2394 0.019) gunicorn-web stdout | 2025-09-26 08:42:43,308 [240] [DEBUG] [app] Ending request: urn:request:d822e995-c1de-4222-b1ac-6f89b9a8d8dc (/api/v1/superuser/registrysize/) {'endpoint': 'api.superuserregistrysize', 'request_id': 'urn:request:d822e995-c1de-4222-b1ac-6f89b9a8d8dc', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/registrysize/', 'path': '/api/v1/superuser/registrysize/', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:42:43,309 [240] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:42:43,309 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,309 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,309 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,309 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,309 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,309 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg2', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,309 [239] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:42:43,309 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/superuser/registrysize/ HTTP/1.1" 200 70 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.020 2409 0.020) gunicorn-web stdout | 2025-09-26 08:42:43,309 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,309 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,309 [240] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/superuser/registrysize/ HTTP/1.0" 200 70 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:42:43,310 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,310 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,310 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,310 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,310 [239] [DEBUG] [app] Ending request: urn:request:2bb63191-fb9d-419c-bd12-6ad459e6e641 (/api/v1/user/) {'endpoint': 'api.user', 'request_id': 'urn:request:2bb63191-fb9d-419c-bd12-6ad459e6e641', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/user/', 'path': '/api/v1/user/', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:42:43,311 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:42:43,311 [239] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/user/ HTTP/1.0" 200 1484 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/user/ HTTP/1.1" 200 1484 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.059 2391 0.059) gunicorn-web stdout | 2025-09-26 08:42:43,318 [242] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:42:43,318 [242] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:42:43,318 [242] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,318 [242] [DEBUG] [endpoints.api] Checking fresh login for user quay: Last login at 2025-09-26 08:37:21+00:00 gunicorn-web stdout | 2025-09-26 08:42:43,318 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,318 [242] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,318 [242] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,318 [242] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,318 [242] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:42:43,319 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ((("t1"."organization" = %s) AND ("t1"."robot" = %s)) AND ("t1"."id" NOT IN (SELECT "t2"."namespace_id" FROM "deletednamespace" AS "t2"))) ORDER BY "t1"."id" LIMIT %s', [True, False, 51]) gunicorn-web stdout | 2025-09-26 08:42:43,323 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-web stdout | 2025-09-26 08:42:43,326 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-web stdout | 2025-09-26 08:42:43,329 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-web stdout | 2025-09-26 08:42:43,333 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quayorg', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,336 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-web stdout | 2025-09-26 08:42:43,340 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [2, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,343 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,347 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-web stdout | 2025-09-26 08:42:43,350 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [3, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,353 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['testorg2', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,356 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-web stdout | 2025-09-26 08:42:43,359 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [4, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,364 [242] [DEBUG] [app] Ending request: urn:request:8ccfba24-2ad1-4a7a-b28f-53a6e52bbfc6 (/api/v1/superuser/organizations/) {'endpoint': 'api.superuserorganizationlist', 'request_id': 'urn:request:8ccfba24-2ad1-4a7a-b28f-53a6e52bbfc6', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/organizations/?limit=50', 'path': '/api/v1/superuser/organizations/', 'parameters': {'limit': '50'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:42:43,364 [242] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/superuser/organizations/?limit=50 HTTP/1.1" 200 1047 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.075 2419 0.075) gunicorn-web stdout | 2025-09-26 08:42:43,365 [242] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/superuser/organizations/?limit=50 HTTP/1.0" 200 1047 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" proxycacheblobworker stdout | 2025-09-26 08:42:43,545 [69] [DEBUG] [apscheduler.scheduler] Looking for jobs to run proxycacheblobworker stdout | 2025-09-26 08:42:43,545 [69] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:53.545186+00:00 (in 9.999361 seconds) proxycacheblobworker stdout | 2025-09-26 08:42:43,546 [69] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:53 GMT)" (scheduled at 2025-09-26 08:42:43.545186+00:00) proxycacheblobworker stdout | 2025-09-26 08:42:43,546 [69] [DEBUG] [workers.queueworker] Getting work item from queue. proxycacheblobworker stdout | 2025-09-26 08:42:43,546 [69] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 42, 43, 546135), True, datetime.datetime(2025, 9, 26, 8, 42, 43, 546135), 0, 'proxycacheblob/%', 50, 1, 0]) proxycacheblobworker stdout | 2025-09-26 08:42:43,560 [69] [DEBUG] [workers.queueworker] No more work. proxycacheblobworker stdout | 2025-09-26 08:42:43,560 [69] [DEBUG] [data.database] Disconnecting from database. proxycacheblobworker stdout | 2025-09-26 08:42:43,560 [69] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:53 GMT)" executed successfully nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:43 +0000] "GET /static/img/RH_Logo_Quay_Black_UX-horizontal.svg HTTP/1.1" 200 3222 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2346 -) gunicorn-web stdout | 2025-09-26 08:42:43,666 [241] [DEBUG] [app] Starting request: urn:request:a8c758aa-9326-48a2-8a4a-b58db43a4284 (/api/v1/superuser/users/) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:42:43,666 [241] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,666 [241] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,667 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,671 [239] [DEBUG] [app] Starting request: urn:request:79bc22cb-9d2e-4f69-b297-2324b9add294 (/api/v1/user/notifications) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:42:43,672 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,672 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,672 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,673 [240] [DEBUG] [app] Starting request: urn:request:9f534729-d120-4c3a-98c7-c37aef4f8b60 (/api/v1/user/apptoken) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:42:43,674 [240] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,674 [240] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,674 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,679 [241] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:42:43,680 [241] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:42:43,680 [241] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,680 [241] [DEBUG] [endpoints.api] Checking fresh login for user quay: Last login at 2025-09-26 08:37:21+00:00 gunicorn-web stdout | 2025-09-26 08:42:43,680 [241] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,680 [241] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,680 [241] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,680 [241] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,680 [241] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:42:43,681 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ((("t1"."organization" = %s) AND ("t1"."robot" = %s)) AND ("t1"."id" NOT IN (SELECT "t2"."namespace_id" FROM "deletednamespace" AS "t2"))) ORDER BY "t1"."id" LIMIT %s', [False, False, 51]) gunicorn-web stdout | 2025-09-26 08:42:43,684 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:42:43,685 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:42:43,685 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,685 [239] [DEBUG] [endpoints.api] Checking permission for user quay gunicorn-web stdout | 2025-09-26 08:42:43,685 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,685 [239] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,685 [239] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,685 [239] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,686 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-web stdout | 2025-09-26 08:42:43,687 [240] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:42:43,687 [240] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:42:43,687 [240] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,687 [240] [DEBUG] [endpoints.api] Checking permission for user quay gunicorn-web stdout | 2025-09-26 08:42:43,687 [240] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,687 [240] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,687 [240] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,687 [240] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,688 [239] [DEBUG] [peewee] ('(SELECT "t1"."id", "t1"."uuid", "t1"."kind_id", "t1"."metadata_json", "t1"."dismissed", "t1"."lookup_path", "t1"."created", "t1"."created" AS "cd", "t1"."target_id" FROM "notification" AS "t1" INNER JOIN "notificationkind" AS "t2" ON ("t1"."kind_id" = "t2"."id") WHERE (("t1"."dismissed" = %s) AND ("t1"."target_id" = %s))) UNION (SELECT "t3"."id", "t3"."uuid", "t3"."kind_id", "t3"."metadata_json", "t3"."dismissed", "t3"."lookup_path", "t3"."created", "t3"."created" AS "cd", "t3"."target_id" FROM "notification" AS "t3" INNER JOIN "notificationkind" AS "t4" ON ("t3"."kind_id" = "t4"."id") INNER JOIN "user" AS "t5" ON ("t5"."id" = "t3"."target_id") INNER JOIN "team" AS "t6" ON ("t5"."id" = "t6"."organization_id") INNER JOIN "teamrole" AS "t7" ON ("t6"."role_id" = "t7"."id") INNER JOIN "teammember" AS "t8" ON ("t6"."id" = "t8"."team_id") INNER JOIN "user" AS "t9" ON ("t8"."user_id" = "t9"."id") WHERE (("t3"."dismissed" = %s) AND (("t9"."id" = %s) AND ("t7"."name" = %s)))) ORDER BY cd desc LIMIT %s', [False, 1, False, 1, 'admin', 6]) gunicorn-web stdout | 2025-09-26 08:42:43,688 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."user_id", "t1"."uuid", "t1"."title", "t1"."token_name", "t1"."token_secret", "t1"."created", "t1"."expiration", "t1"."last_accessed" FROM "appspecificauthtoken" AS "t1" WHERE ((("t1"."user_id" = %s) AND ("t1"."expiration" <= %s)) AND ("t1"."expiration" > %s))', [1, datetime.datetime(2025, 9, 29, 3, 54, 43, 688133), datetime.datetime(2025, 9, 26, 8, 42, 43, 688193)]) gunicorn-web stdout | 2025-09-26 08:42:43,691 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quay', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,692 [240] [DEBUG] [app] Ending request: urn:request:9f534729-d120-4c3a-98c7-c37aef4f8b60 (/api/v1/user/apptoken) {'endpoint': 'api.apptokens', 'request_id': 'urn:request:9f534729-d120-4c3a-98c7-c37aef4f8b60', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/user/apptoken?expiring=true', 'path': '/api/v1/user/apptoken', 'parameters': {'expiring': 'true'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:42:43,693 [240] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/user/apptoken?expiring=true HTTP/1.1" 200 38 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.021 2413 0.021) gunicorn-web stdout | 2025-09-26 08:42:43,694 [240] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/user/apptoken?expiring=true HTTP/1.0" 200 38 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:42:43,694 [239] [DEBUG] [app] Ending request: urn:request:79bc22cb-9d2e-4f69-b297-2324b9add294 (/api/v1/user/notifications) {'endpoint': 'api.usernotificationlist', 'request_id': 'urn:request:79bc22cb-9d2e-4f69-b297-2324b9add294', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/user/notifications', 'path': '/api/v1/user/notifications', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:42:43,695 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:42:43,695 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/user/notifications HTTP/1.1" 200 43 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.026 2404 0.026) gunicorn-web stdout | 2025-09-26 08:42:43,696 [239] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/user/notifications HTTP/1.0" 200 43 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:42:43,698 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_user_id", "t1"."size_bytes", "t1"."backfill_start_ms", "t1"."backfill_complete" FROM "quotanamespacesize" AS "t1" WHERE ("t1"."namespace_user_id" = %s) LIMIT %s OFFSET %s', [1, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,702 [241] [DEBUG] [app] Ending request: urn:request:a8c758aa-9326-48a2-8a4a-b58db43a4284 (/api/v1/superuser/users/) {'endpoint': 'api.superuserlist', 'request_id': 'urn:request:a8c758aa-9326-48a2-8a4a-b58db43a4284', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/users/?limit=50', 'path': '/api/v1/superuser/users/', 'parameters': {'limit': '50'}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:42:43,702 [241] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/superuser/users/?limit=50 HTTP/1.1" 200 424 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.038 2411 0.038) gunicorn-web stdout | 2025-09-26 08:42:43,703 [241] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/superuser/users/?limit=50 HTTP/1.0" 200 424 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:42:43,719 [239] [DEBUG] [app] Starting request: urn:request:d701964e-9dce-41cb-89e4-62cca6e05ee5 (/api/v1/organization/testorg2/quota) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:42:43,719 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,719 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,719 [242] [DEBUG] [app] Starting request: urn:request:40337528-41b1-40bb-bb01-b6e441a75aa8 (/api/v1/organization/testorg/quota) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:42:43,719 [242] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,719 [242] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,720 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,720 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,731 [242] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:42:43,731 [242] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:42:43,732 [242] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,732 [242] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,732 [242] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,732 [242] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,732 [242] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,732 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:42:43,733 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:42:43,733 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,733 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,733 [239] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,733 [239] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,733 [239] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,734 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-web stdout | 2025-09-26 08:42:43,735 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-web stdout | 2025-09-26 08:42:43,739 [242] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,739 [242] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,739 [242] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,739 [242] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,739 [242] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,739 [242] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,739 [242] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,739 [242] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,739 [242] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg2', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,739 [242] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:42:43,740 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."organization" = %s) AND ("t1"."username" = %s)) LIMIT %s OFFSET %s', [True, 'testorg', 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,740 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,741 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,741 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,741 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,741 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,741 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,741 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,742 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,742 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg2', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,742 [239] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:42:43,742 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."organization" = %s) AND ("t1"."username" = %s)) LIMIT %s OFFSET %s', [True, 'testorg2', 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,743 [242] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg']) gunicorn-web stdout | 2025-09-26 08:42:43,746 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['testorg2']) gunicorn-web stdout | 2025-09-26 08:42:43,746 [242] [DEBUG] [app] Ending request: urn:request:40337528-41b1-40bb-bb01-b6e441a75aa8 (/api/v1/organization/testorg/quota) {'endpoint': 'api.organizationquotalist', 'request_id': 'urn:request:40337528-41b1-40bb-bb01-b6e441a75aa8', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/organization/testorg/quota', 'path': '/api/v1/organization/testorg/quota', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:42:43,747 [242] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:42:43,747 [242] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/organization/testorg/quota HTTP/1.0" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/organization/testorg/quota HTTP/1.1" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.029 2412 0.029) gunicorn-web stdout | 2025-09-26 08:42:43,750 [239] [DEBUG] [app] Ending request: urn:request:d701964e-9dce-41cb-89e4-62cca6e05ee5 (/api/v1/organization/testorg2/quota) {'endpoint': 'api.organizationquotalist', 'request_id': 'urn:request:d701964e-9dce-41cb-89e4-62cca6e05ee5', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/organization/testorg2/quota', 'path': '/api/v1/organization/testorg2/quota', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:42:43,751 [239] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:42:43,751 [239] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/organization/testorg2/quota HTTP/1.0" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/organization/testorg2/quota HTTP/1.1" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.033 2413 0.033) gunicorn-web stdout | 2025-09-26 08:42:43,946 [239] [DEBUG] [app] Starting request: urn:request:f637f274-8359-41aa-8b7d-2aca0d42eb01 (/api/v1/organization/quayorg/quota) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:42:43,946 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,946 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,947 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,961 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:42:43,961 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:42:43,962 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,962 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:43,962 [239] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,962 [239] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,962 [239] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,964 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name", "t1"."organization_id", "t1"."role_id", "t1"."description", "t2"."id", "t2"."uuid", "t2"."username", "t2"."password_hash", "t2"."email", "t2"."verified", "t2"."stripe_id", "t2"."organization", "t2"."robot", "t2"."invoice_email", "t2"."invalid_login_attempts", "t2"."last_invalid_login", "t2"."removed_tag_expiration_s", "t2"."enabled", "t2"."invoice_email_address", "t2"."given_name", "t2"."family_name", "t2"."company", "t2"."location", "t2"."maximum_queued_builds_count", "t2"."creation_date", "t2"."last_accessed", "t3"."id", "t3"."name" FROM "team" AS "t1" INNER JOIN "teamrole" AS "t3" ON ("t1"."role_id" = "t3"."id") INNER JOIN "user" AS "t2" ON ("t1"."organization_id" = "t2"."id") INNER JOIN "teammember" AS "t4" ON ("t4"."team_id" = "t1"."id") INNER JOIN "user" AS "t5" ON ("t4"."user_id" = "t5"."id") WHERE (("t5"."id" = %s) AND ("t2"."organization" = %s))', [1, True]) gunicorn-web stdout | 2025-09-26 08:42:43,969 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,969 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quayorg', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,969 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='quayorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,969 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,969 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,970 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,970 [239] [DEBUG] [auth.permissions] Organization team added permission: _NamespaceWideNeed(type='organization', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,970 [239] [DEBUG] [auth.permissions] Organization team added repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='testorg2', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,970 [239] [DEBUG] [auth.permissions] Team added permission: _TeamTypeNeed(type='orgteam', orgname='testorg2', teamname='owners', role='admin') gunicorn-web stdout | 2025-09-26 08:42:43,970 [239] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:42:43,971 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."organization" = %s) AND ("t1"."username" = %s)) LIMIT %s OFFSET %s', [True, 'quayorg', 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:43,975 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quayorg']) gunicorn-web stdout | 2025-09-26 08:42:43,979 [239] [DEBUG] [app] Ending request: urn:request:f637f274-8359-41aa-8b7d-2aca0d42eb01 (/api/v1/organization/quayorg/quota) {'endpoint': 'api.organizationquotalist', 'request_id': 'urn:request:f637f274-8359-41aa-8b7d-2aca0d42eb01', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/organization/quayorg/quota', 'path': '/api/v1/organization/quayorg/quota', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:42:43,979 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/organization/quayorg/quota HTTP/1.1" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.036 2412 0.035) gunicorn-web stdout | 2025-09-26 08:42:43,980 [239] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:42:43 +0000] "GET /api/v1/organization/quayorg/quota HTTP/1.0" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" gunicorn-web stdout | 2025-09-26 08:42:44,063 [239] [DEBUG] [app] Starting request: urn:request:8489278b-75fe-41e8-8b12-b38cfb463b8b (/api/v1/superuser/users/quay/quota) {'X-Forwarded-For': '209.132.188.14, 10.131.2.20'} gunicorn-web stdout | 2025-09-26 08:42:44,063 [239] [DEBUG] [app] User loader loading deferred user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:44,063 [239] [DEBUG] [auth.cookie] Loading user from cookie: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:44,064 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."uuid" = %s) AND ("t1"."organization" = %s)) LIMIT %s OFFSET %s', ['9f776dce-7347-4b69-8bd5-3621034db23c', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:44,076 [239] [DEBUG] [auth.decorators] Found valid auth result: (, False, None, [, None, None, None, None, None, None]) gunicorn-web stdout | 2025-09-26 08:42:44,077 [239] [DEBUG] [auth.permissions] Identity loaded: gunicorn-web stdout | 2025-09-26 08:42:44,077 [239] [DEBUG] [auth.permissions] Deferring permissions for user with uuid: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:44,077 [239] [DEBUG] [endpoints.api] Checking fresh login for user quay: Last login at 2025-09-26 08:37:21+00:00 gunicorn-web stdout | 2025-09-26 08:42:44,077 [239] [DEBUG] [auth.permissions] Loading user permissions after deferring for: 9f776dce-7347-4b69-8bd5-3621034db23c gunicorn-web stdout | 2025-09-26 08:42:44,077 [239] [DEBUG] [auth.permissions] User permission: _UserTypeNeed(type='user', username='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:44,077 [239] [DEBUG] [auth.permissions] User namespace permission: _NamespaceWideNeed(type='organization', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:44,077 [239] [DEBUG] [auth.permissions] User namespace repo permission: _NamespaceWideNeed(type='organizationrepo', namespace='quay', role='admin') gunicorn-web stdout | 2025-09-26 08:42:44,077 [239] [DEBUG] [auth.permissions] Adding superuser to user: quay gunicorn-web stdout | 2025-09-26 08:42:44,078 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE (("t1"."username" = %s) AND ("t1"."robot" = %s)) LIMIT %s OFFSET %s', ['quay', False, 1, 0]) gunicorn-web stdout | 2025-09-26 08:42:44,081 [239] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."namespace_id", "t1"."limit_bytes" FROM "userorganizationquota" AS "t1" INNER JOIN "user" AS "t2" ON ("t1"."namespace_id" = "t2"."id") WHERE ("t2"."username" = %s)', ['quay']) gunicorn-web stdout | 2025-09-26 08:42:44,085 [239] [DEBUG] [app] Ending request: urn:request:8489278b-75fe-41e8-8b12-b38cfb463b8b (/api/v1/superuser/users/quay/quota) {'endpoint': 'api.superuseruserquotalist', 'request_id': 'urn:request:8489278b-75fe-41e8-8b12-b38cfb463b8b', 'remote_addr': '10.131.2.20', 'http_method': 'GET', 'original_url': 'https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/api/v1/superuser/users/quay/quota', 'path': '/api/v1/superuser/users/quay/quota', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36'} gunicorn-web stdout | 2025-09-26 08:42:44,086 [239] [DEBUG] [data.database] Disconnecting from database. nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:44 +0000] "GET /api/v1/superuser/users/quay/quota HTTP/1.1" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.025 2412 0.025) gunicorn-web stdout | 2025-09-26 08:42:44,086 [239] [INFO] [gunicorn.access] 10.131.2.20 - - [26/Sep/2025:08:42:44 +0000] "GET /api/v1/superuser/users/quay/quota HTTP/1.0" 200 3 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:44 +0000] "GET /static/build/489e5e00e1a9a80f88d55281894a87ff.woff HTTP/1.1" 200 7280 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2389 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:44 +0000] "GET /static/fonts/fontawesome-webfont.woff2?v=4.7.0 HTTP/1.1" 200 77160 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/static/ldn/font-awesome.css-a166e3c966c6.css" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2401 -) nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:45 +0000] "GET /static/img/quay_favicon.png HTTP/1.1" 200 3558 "https://quayregistry-quay-quay-enterprise-15475.apps.quaytest-15475.qe.devcluster.openshift.com/superuser/?tab=organizations" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" (0.000 2326 -) exportactionlogsworker stdout | 2025-09-26 08:42:45,947 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:42:45,947 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:50.940190+00:00 (in 4.992719 seconds) exportactionlogsworker stdout | 2025-09-26 08:42:45,947 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:45 GMT)" (scheduled at 2025-09-26 08:42:45.946993+00:00) exportactionlogsworker stdout | 2025-09-26 08:42:45,947 [56] [DEBUG] [workers.queueworker] Running watchdog. exportactionlogsworker stdout | 2025-09-26 08:42:45,947 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.run_watchdog (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:45 GMT)" executed successfully notificationworker stdout | 2025-09-26 08:42:46,441 [68] [DEBUG] [apscheduler.scheduler] Looking for jobs to run notificationworker stdout | 2025-09-26 08:42:46,441 [68] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:56.440077+00:00 (in 9.998827 seconds) notificationworker stdout | 2025-09-26 08:42:46,441 [68] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:56 GMT)" (scheduled at 2025-09-26 08:42:46.440077+00:00) notificationworker stdout | 2025-09-26 08:42:46,441 [68] [DEBUG] [workers.queueworker] Getting work item from queue. notificationworker stdout | 2025-09-26 08:42:46,442 [68] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 42, 46, 441620), True, datetime.datetime(2025, 9, 26, 8, 42, 46, 441620), 0, 'notification/%', 50, 1, 0]) notificationworker stdout | 2025-09-26 08:42:46,456 [68] [DEBUG] [workers.queueworker] No more work. notificationworker stdout | 2025-09-26 08:42:46,457 [68] [DEBUG] [data.database] Disconnecting from database. notificationworker stdout | 2025-09-26 08:42:46,457 [68] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:00:10], next run at: 2025-09-26 08:42:56 GMT)" executed successfully securityworker stdout | 2025-09-26 08:42:47,490 [89] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'securityworker.py', 'pid': '89'} gunicorn-web stdout | 2025-09-26 08:42:47,640 [241] [DEBUG] [app] Starting request: urn:request:6c6d0dac-f854-4a79-b996-ed402cfdb682 (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:42:47,641 [241] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:42:47,644 [250] [DEBUG] [app] Starting request: urn:request:5edee323-7c84-40f3-9711-5eb0cffd8b50 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:42:47,644 [250] [DEBUG] [app] Ending request: urn:request:5edee323-7c84-40f3-9711-5eb0cffd8b50 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:5edee323-7c84-40f3-9711-5eb0cffd8b50', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} gunicorn-registry stdout | 2025-09-26 08:42:47,644 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:42:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:42:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-web stdout | 2025-09-26 08:42:47,645 [241] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:42:47,645 [241] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:42:47,647 [240] [DEBUG] [app] Starting request: urn:request:07457c5a-87a8-46a4-bfc9-6ce9fcecc68a (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:42:47,647 [240] [DEBUG] [app] Ending request: urn:request:07457c5a-87a8-46a4-bfc9-6ce9fcecc68a (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:07457c5a-87a8-46a4-bfc9-6ce9fcecc68a', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:42:47,648 [240] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:42:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:42:47,648 [241] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:42:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.002 159 0.002) gunicorn-web stdout | 2025-09-26 08:42:47,649 [241] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:42:47,649 [241] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:42:47,649 [241] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:42:47,657 [241] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:42:47,657 [241] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:42:47,667 [241] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:42:47,670 [241] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:42:47,674 [241] [DEBUG] [app] Ending request: urn:request:6c6d0dac-f854-4a79-b996-ed402cfdb682 (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:6c6d0dac-f854-4a79-b996-ed402cfdb682', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:42:47,674 [241] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:42:47,675 [241] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:42:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:42:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.036 118 0.036) gunicorn-web stdout | 2025-09-26 08:42:47,727 [240] [DEBUG] [app] Starting request: urn:request:a708cac9-b97c-408a-9868-4cea4706804a (/health/instance) {'X-Forwarded-For': '10.131.2.2'} gunicorn-web stdout | 2025-09-26 08:42:47,733 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-registry stdout | 2025-09-26 08:42:47,735 [250] [DEBUG] [app] Starting request: urn:request:ee37bdac-a875-4889-a0f7-13012dbfc4a9 (/v1/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-registry stdout | 2025-09-26 08:42:47,736 [250] [DEBUG] [app] Ending request: urn:request:ee37bdac-a875-4889-a0f7-13012dbfc4a9 (/v1/_internal_ping) {'endpoint': 'v1.internal_ping', 'request_id': 'urn:request:ee37bdac-a875-4889-a0f7-13012dbfc4a9', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/v1/_internal_ping', 'path': '/v1/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': 'd8692b85', 'user-agent': 'python-requests/2.32.2'} nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:42:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 162 0.001) gunicorn-registry stdout | 2025-09-26 08:42:47,736 [250] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:42:47 +0000] "GET /v1/_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" gunicorn-web stdout | 2025-09-26 08:42:47,736 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /v1/_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:42:47,737 [240] [DEBUG] [urllib3.connectionpool] Resetting dropped connection: localhost gunicorn-web stdout | 2025-09-26 08:42:47,739 [239] [DEBUG] [app] Starting request: urn:request:7b8b7b43-68b3-452c-b5cb-ad8ac3fe5391 (/_internal_ping) {'X-Forwarded-For': '127.0.0.1'} gunicorn-web stdout | 2025-09-26 08:42:47,739 [239] [DEBUG] [app] Ending request: urn:request:7b8b7b43-68b3-452c-b5cb-ad8ac3fe5391 (/_internal_ping) {'endpoint': 'web.internal_ping', 'request_id': 'urn:request:7b8b7b43-68b3-452c-b5cb-ad8ac3fe5391', 'remote_addr': '127.0.0.1', 'http_method': 'GET', 'original_url': 'http://localhost/_internal_ping', 'path': '/_internal_ping', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'python-requests/2.32.2'} gunicorn-web stdout | 2025-09-26 08:42:47,739 [239] [INFO] [gunicorn.access] 127.0.0.1 - - [26/Sep/2025:08:42:47 +0000] "GET /_internal_ping HTTP/1.0" 200 4 "-" "python-requests/2.32.2" nginx stdout | 127.0.0.1 (-) - - [26/Sep/2025:08:42:47 +0000] "GET /_internal_ping HTTP/1.1" 200 4 "-" "python-requests/2.32.2" (0.001 159 0.002) gunicorn-web stdout | 2025-09-26 08:42:47,740 [240] [DEBUG] [urllib3.connectionpool] http://localhost:8080 "GET /_internal_ping HTTP/1.1" 200 4 gunicorn-web stdout | 2025-09-26 08:42:47,740 [240] [DEBUG] [data.model.health] Validating database connection. gunicorn-web stdout | 2025-09-26 08:42:47,740 [240] [INFO] [data.database] Setting database host to quayregistry-quay-database for worker gunicorn-web gunicorn-web stdout | 2025-09-26 08:42:47,740 [240] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-web stdout | 2025-09-26 08:42:47,749 [240] [DEBUG] [data.model.health] Checking for existence of team roles, timeout 5000 ms. gunicorn-web stdout | 2025-09-26 08:42:47,749 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (5000,)) gunicorn-web stdout | 2025-09-26 08:42:47,758 [240] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "teamrole" AS "t1" LIMIT %s', [1]) gunicorn-web stdout | 2025-09-26 08:42:47,763 [240] [DEBUG] [peewee] ('SET statement_timeout=%s;', (0,)) gunicorn-web stdout | 2025-09-26 08:42:47,766 [240] [DEBUG] [app] Ending request: urn:request:a708cac9-b97c-408a-9868-4cea4706804a (/health/instance) {'endpoint': 'web.instance_health', 'request_id': 'urn:request:a708cac9-b97c-408a-9868-4cea4706804a', 'remote_addr': '10.131.2.2', 'http_method': 'GET', 'original_url': 'http://10.131.2.27/health/instance', 'path': '/health/instance', 'parameters': {}, 'json_body': None, 'confsha': '3e1f2c97', 'user-agent': 'kube-probe/1.32'} gunicorn-web stdout | 2025-09-26 08:42:47,766 [240] [DEBUG] [data.database] Disconnecting from database. gunicorn-web stdout | 2025-09-26 08:42:47,766 [240] [INFO] [gunicorn.access] 10.131.2.2 - - [26/Sep/2025:08:42:47 +0000] "GET /health/instance HTTP/1.0" 200 152 "-" "kube-probe/1.32" nginx stdout | 10.131.2.2 (-) - - [26/Sep/2025:08:42:47 +0000] "GET /health/instance HTTP/1.1" 200 152 "-" "kube-probe/1.32" (0.040 118 0.039) gunicorn-secscan stdout | 2025-09-26 08:42:48,869 [228] [INFO] [gunicorn.access] - - [26/Sep/2025:08:42:48 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.131.2.20 (-) - - [26/Sep/2025:08:42:48 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 959 0.001) securityworker stdout | 2025-09-26 08:42:49,334 [89] [DEBUG] [apscheduler.scheduler] Looking for jobs to run securityworker stdout | 2025-09-26 08:42:49,334 [89] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:42:57.335452+00:00 (in 8.000748 seconds) securityworker stdout | 2025-09-26 08:42:49,334 [89] [INFO] [apscheduler.executors.default] Running job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:43:19 GMT)" (scheduled at 2025-09-26 08:42:49.334273+00:00) securityworker stdout | 2025-09-26 08:42:49,335 [89] [DEBUG] [util.secscan.v4.api] generated jwt for security scanner request securityworker stdout | 2025-09-26 08:42:49,335 [89] [DEBUG] [util.secscan.v4.api] GETing security URL http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local/indexer/api/v1/index_state securityworker stdout | 2025-09-26 08:42:49,337 [89] [DEBUG] [urllib3.connectionpool] http://quayregistry-clair-app.quay-enterprise-15475.svc.cluster.local:80 "GET /indexer/api/v1/index_state HTTP/1.1" 200 None securityworker stdout | 2025-09-26 08:42:49,338 [89] [DEBUG] [peewee] ('SELECT Max("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:42:49,352 [89] [DEBUG] [peewee] ('SELECT Min("t1"."id") FROM "manifest" AS "t1"', []) securityworker stdout | 2025-09-26 08:42:49,356 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:42:49,356 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:42:49,356 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:42:49,356 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:42:49,357 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 27, 35]) securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 27-35 by worker securityworker stdout | 2025-09-26 08:42:49,361 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 27-35 by worker securityworker stdout | 2025-09-26 08:42:49,361 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 27-35 securityworker stdout | 2025-09-26 08:42:49,361 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 27-35 securityworker stdout | 2025-09-26 08:42:49,361 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:42:49,361 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:42:49,361 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:42:49,361 [89] [DEBUG] [util.migrate.allocator] Right range 27-35 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 27-35 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 27-35 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Right range 27-35 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-27 securityworker stdout | 2025-09-26 08:42:49,361 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-27 securityworker stdout | 2025-09-26 08:42:49,361 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 19 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 19 securityworker stdout | 2025-09-26 08:42:49,362 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 6, 14]) securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 6-14 by worker securityworker stdout | 2025-09-26 08:42:49,365 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 6-14 by worker securityworker stdout | 2025-09-26 08:42:49,365 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 6-14 securityworker stdout | 2025-09-26 08:42:49,365 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 6-14 securityworker stdout | 2025-09-26 08:42:49,365 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stdout | 2025-09-26 08:42:49,365 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:42:49,365 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 3 total holes securityworker stdout | 2025-09-26 08:42:49,366 [89] [DEBUG] [util.migrate.allocator] Left range 6-14 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 6-14 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 6-14 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 3 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Left range 6-14 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Right range 27-35 securityworker stdout | 2025-09-26 08:42:49,366 [89] [DEBUG] [util.migrate.allocator] Right range 27-35 securityworker stdout | 2025-09-26 08:42:49,366 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 14-27 securityworker stdout | 2025-09-26 08:42:49,366 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 19 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 14-27 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 19 securityworker stdout | 2025-09-26 08:42:49,367 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 16, 24]) securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 16-24 by worker securityworker stdout | 2025-09-26 08:42:49,370 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 16-24 by worker securityworker stdout | 2025-09-26 08:42:49,370 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 16-24 securityworker stdout | 2025-09-26 08:42:49,370 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 16-24 securityworker stdout | 2025-09-26 08:42:49,370 [89] [DEBUG] [util.migrate.allocator] Total blocks: 3 securityworker stdout | 2025-09-26 08:42:49,370 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:42:49,370 [89] [DEBUG] [util.migrate.allocator] Selected random hole 3 with 4 total holes securityworker stdout | 2025-09-26 08:42:49,370 [89] [DEBUG] [util.migrate.allocator] Left range 16-24 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 16-24 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 16-24 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 3 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 3 with 4 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Left range 16-24 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Right range 27-35 securityworker stdout | 2025-09-26 08:42:49,370 [89] [DEBUG] [util.migrate.allocator] Right range 27-35 securityworker stdout | 2025-09-26 08:42:49,370 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-27 securityworker stdout | 2025-09-26 08:42:49,370 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 24 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 24-27 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 24 securityworker stdout | 2025-09-26 08:42:49,371 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 24, 32]) securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 24-32 by worker securityworker stdout | 2025-09-26 08:42:49,374 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 24-32 by worker securityworker stdout | 2025-09-26 08:42:49,375 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 24-32 securityworker stdout | 2025-09-26 08:42:49,375 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 16-24 securityworker stdout | 2025-09-26 08:42:49,375 [89] [DEBUG] [util.migrate.allocator] Already merged with block 16-24 securityworker stdout | 2025-09-26 08:42:49,375 [89] [DEBUG] [util.migrate.allocator] Merging with block 27-35 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 24-32 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 16-24 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 16-24 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 27-35 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stdout | 2025-09-26 08:42:49,375 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stdout | 2025-09-26 08:42:49,375 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 16-35 securityworker stdout | 2025-09-26 08:42:49,375 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stdout | 2025-09-26 08:42:49,375 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:42:49,375 [89] [DEBUG] [util.migrate.allocator] Selected random hole 2 with 3 total holes securityworker stdout | 2025-09-26 08:42:49,375 [89] [DEBUG] [util.migrate.allocator] Left range 6-14 securityworker stdout | 2025-09-26 08:42:49,375 [89] [DEBUG] [util.migrate.allocator] Right range 16-35 securityworker stdout | 2025-09-26 08:42:49,375 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 14-16 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 16-35 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 2 with 3 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Left range 6-14 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Right range 16-35 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 14-16 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 14 securityworker stdout | 2025-09-26 08:42:49,375 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 14 securityworker stdout | 2025-09-26 08:42:49,376 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 14, 22]) securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 14-22 by worker securityworker stdout | 2025-09-26 08:42:49,379 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 14-22 by worker securityworker stdout | 2025-09-26 08:42:49,379 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 14-22 securityworker stdout | 2025-09-26 08:42:49,379 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 6-14 securityworker stdout | 2025-09-26 08:42:49,379 [89] [DEBUG] [util.migrate.allocator] Already merged with block 6-14 securityworker stdout | 2025-09-26 08:42:49,380 [89] [DEBUG] [util.migrate.allocator] Merging with block 16-35 securityworker stdout | 2025-09-26 08:42:49,380 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stdout | 2025-09-26 08:42:49,380 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 6-35 securityworker stdout | 2025-09-26 08:42:49,380 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 14-22 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 6-14 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 6-14 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 16-35 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 6-35 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:42:49,380 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:42:49,380 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:42:49,380 [89] [DEBUG] [util.migrate.allocator] Left range 6-35 securityworker stdout | 2025-09-26 08:42:49,380 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 35-36 securityworker stdout | 2025-09-26 08:42:49,380 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 35 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Left range 6-35 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 35-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 35 securityworker stdout | 2025-09-26 08:42:49,381 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 35, 36]) securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 35-36 by worker securityworker stdout | 2025-09-26 08:42:49,384 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 35-36 by worker securityworker stdout | 2025-09-26 08:42:49,384 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 35-36 securityworker stdout | 2025-09-26 08:42:49,384 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 6-35 securityworker stdout | 2025-09-26 08:42:49,384 [89] [DEBUG] [util.migrate.allocator] Already merged with block 6-35 securityworker stdout | 2025-09-26 08:42:49,384 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 6 securityworker stdout | 2025-09-26 08:42:49,384 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:42:49,384 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:42:49,384 [89] [DEBUG] [util.migrate.allocator] Total range: 1-6 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 35-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 6-35 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 6-35 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 6 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-6 securityworker stdout | 2025-09-26 08:42:49,384 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:42:49,384 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-6 securityworker stdout | 2025-09-26 08:42:49,385 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-6 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:42:49,385 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" LEFT OUTER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE ((("t2"."id" IS %s) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [None, 1, 9]) securityworker stdout | 2025-09-26 08:42:49,389 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:42:49,389 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:42:49,389 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stdout | 2025-09-26 08:42:49,389 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 9 securityworker stdout | 2025-09-26 08:42:49,389 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:42:49,389 [89] [DEBUG] [util.migrate.allocator] Total range: 9-1 securityworker stdout | 2025-09-26 08:42:49,389 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:42:49,389 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:42:49,389 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 1 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 9 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 9-1 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:42:49,389 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:42:49,389 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:42:49,390 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 37, 49, 338692), 20, 28]) securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 20-28 by worker securityworker stdout | 2025-09-26 08:42:49,394 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 20-28 by worker securityworker stdout | 2025-09-26 08:42:49,394 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 20-28 securityworker stdout | 2025-09-26 08:42:49,394 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 20-28 securityworker stdout | 2025-09-26 08:42:49,394 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:42:49,394 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:42:49,394 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:42:49,394 [89] [DEBUG] [util.migrate.allocator] Left range 20-28 securityworker stdout | 2025-09-26 08:42:49,394 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 28-36 securityworker stdout | 2025-09-26 08:42:49,394 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 20-28 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 20-28 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Left range 20-28 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 28-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:42:49,395 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 37, 49, 338692), 28, 36]) securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 28-36 by worker securityworker stdout | 2025-09-26 08:42:49,398 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 28-36 by worker securityworker stdout | 2025-09-26 08:42:49,398 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 28-36 securityworker stdout | 2025-09-26 08:42:49,398 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 20-28 securityworker stdout | 2025-09-26 08:42:49,398 [89] [DEBUG] [util.migrate.allocator] Already merged with block 20-28 securityworker stdout | 2025-09-26 08:42:49,398 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 20 securityworker stdout | 2025-09-26 08:42:49,398 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:42:49,398 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:42:49,398 [89] [DEBUG] [util.migrate.allocator] Total range: 1-20 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 28-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 20-28 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 20-28 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 20 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-20 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:42:49,399 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:42:49,399 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-20 securityworker stdout | 2025-09-26 08:42:49,399 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 12 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-20 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 12 securityworker stdout | 2025-09-26 08:42:49,400 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 37, 49, 338692), 6, 14]) securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 6-14 by worker securityworker stdout | 2025-09-26 08:42:49,403 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 6-14 by worker securityworker stdout | 2025-09-26 08:42:49,403 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 6-14 securityworker stdout | 2025-09-26 08:42:49,403 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 6-14 securityworker stdout | 2025-09-26 08:42:49,403 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:42:49,403 [89] [DEBUG] [util.migrate.allocator] Total range: 1-20 securityworker stdout | 2025-09-26 08:42:49,403 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:42:49,403 [89] [DEBUG] [util.migrate.allocator] Right range 6-14 securityworker stdout | 2025-09-26 08:42:49,403 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-6 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 6-14 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 6-14 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-20 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Right range 6-14 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-6 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:42:49,404 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:42:49,405 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 37, 49, 338692), 1, 9]) securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stdout | 2025-09-26 08:42:49,408 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stdout | 2025-09-26 08:42:49,408 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:42:49,408 [89] [DEBUG] [util.migrate.allocator] Merging with block 6-14 securityworker stdout | 2025-09-26 08:42:49,408 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 14 securityworker stdout | 2025-09-26 08:42:49,408 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:42:49,408 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:42:49,408 [89] [DEBUG] [util.migrate.allocator] Total range: 14-20 securityworker stdout | 2025-09-26 08:42:49,408 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 6-14 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 14 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 14-20 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 14-20 securityworker stdout | 2025-09-26 08:42:49,408 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 14-20 securityworker stdout | 2025-09-26 08:42:49,408 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 14 securityworker stdout | 2025-09-26 08:42:49,409 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((("t2"."index_status" = %s) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-1, datetime.datetime(2025, 9, 26, 8, 37, 49, 338692), 14, 22]) securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 14 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 14-22 by worker securityworker stdout | 2025-09-26 08:42:49,412 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 14-22 by worker securityworker stdout | 2025-09-26 08:42:49,412 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 14-22 securityworker stdout | 2025-09-26 08:42:49,412 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 14 securityworker stdout | 2025-09-26 08:42:49,412 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 22 securityworker stdout | 2025-09-26 08:42:49,413 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 14-22 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 14 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 22 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 22-14 securityworker stdout | 2025-09-26 08:42:49,413 [89] [DEBUG] [util.migrate.allocator] Total range: 22-14 securityworker stdout | 2025-09-26 08:42:49,413 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:42:49,413 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:42:49,413 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stdout | 2025-09-26 08:42:49,413 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-36 securityworker stdout | 2025-09-26 08:42:49,413 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:42:49,414 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 37, 49, 338692), 11, 19]) securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 11-19 by worker securityworker stdout | 2025-09-26 08:42:49,418 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 11-19 by worker securityworker stdout | 2025-09-26 08:42:49,418 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 11-19 securityworker stdout | 2025-09-26 08:42:49,418 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 11-19 securityworker stdout | 2025-09-26 08:42:49,418 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:42:49,418 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 11-19 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 11-19 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:42:49,418 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 2 total holes securityworker stdout | 2025-09-26 08:42:49,418 [89] [DEBUG] [util.migrate.allocator] Right range 11-19 securityworker stdout | 2025-09-26 08:42:49,418 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-11 securityworker stdout | 2025-09-26 08:42:49,418 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 3 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Right range 11-19 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-11 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 3 securityworker stdout | 2025-09-26 08:42:49,419 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 37, 49, 338692), 2, 10]) securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 2-10 by worker securityworker stdout | 2025-09-26 08:42:49,422 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 2-10 by worker securityworker stdout | 2025-09-26 08:42:49,422 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 2-10 securityworker stdout | 2025-09-26 08:42:49,422 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 2-10 securityworker stdout | 2025-09-26 08:42:49,422 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stdout | 2025-09-26 08:42:49,423 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stdout | 2025-09-26 08:42:49,423 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 3 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 2-10 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 2-10 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 1-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 3 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Right range 2-10 securityworker stdout | 2025-09-26 08:42:49,423 [89] [DEBUG] [util.migrate.allocator] Right range 2-10 securityworker stdout | 2025-09-26 08:42:49,423 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stdout | 2025-09-26 08:42:49,423 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 1-2 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 1 securityworker stdout | 2025-09-26 08:42:49,424 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 37, 49, 338692), 1, 9]) securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stdout | 2025-09-26 08:42:49,427 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 1-9 by worker securityworker stdout | 2025-09-26 08:42:49,427 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stdout | 2025-09-26 08:42:49,427 [89] [DEBUG] [util.migrate.allocator] Merging with block 2-10 securityworker stdout | 2025-09-26 08:42:49,427 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 10 securityworker stdout | 2025-09-26 08:42:49,427 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:42:49,427 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:42:49,427 [89] [DEBUG] [util.migrate.allocator] Total range: 10-36 securityworker stdout | 2025-09-26 08:42:49,427 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 1-9 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 2-10 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 10 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 10-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Left range 11-19 securityworker stdout | 2025-09-26 08:42:49,427 [89] [DEBUG] [util.migrate.allocator] Left range 11-19 securityworker stdout | 2025-09-26 08:42:49,427 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 19-36 securityworker stdout | 2025-09-26 08:42:49,427 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 19-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 28 securityworker stdout | 2025-09-26 08:42:49,428 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 37, 49, 338692), 23, 31]) securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 23-31 by worker securityworker stdout | 2025-09-26 08:42:49,431 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 23-31 by worker securityworker stdout | 2025-09-26 08:42:49,431 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 23-31 securityworker stdout | 2025-09-26 08:42:49,431 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 23-31 securityworker stdout | 2025-09-26 08:42:49,431 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stdout | 2025-09-26 08:42:49,431 [89] [DEBUG] [util.migrate.allocator] Total range: 10-36 securityworker stdout | 2025-09-26 08:42:49,431 [89] [DEBUG] [util.migrate.allocator] Selected random hole 2 with 3 total holes securityworker stdout | 2025-09-26 08:42:49,431 [89] [DEBUG] [util.migrate.allocator] Left range 11-19 securityworker stdout | 2025-09-26 08:42:49,431 [89] [DEBUG] [util.migrate.allocator] Right range 23-31 securityworker stdout | 2025-09-26 08:42:49,432 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 19-23 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 23-31 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 23-31 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 2 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 10-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 2 with 3 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Left range 11-19 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Right range 23-31 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 19-23 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 19 securityworker stdout | 2025-09-26 08:42:49,432 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 19 securityworker stdout | 2025-09-26 08:42:49,432 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 37, 49, 338692), 19, 27]) securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 19-27 by worker securityworker stdout | 2025-09-26 08:42:49,435 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 19-27 by worker securityworker stdout | 2025-09-26 08:42:49,435 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 19-27 securityworker stdout | 2025-09-26 08:42:49,435 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 11-19 securityworker stdout | 2025-09-26 08:42:49,435 [89] [DEBUG] [util.migrate.allocator] Already merged with block 11-19 securityworker stdout | 2025-09-26 08:42:49,435 [89] [DEBUG] [util.migrate.allocator] Merging with block 23-31 securityworker stdout | 2025-09-26 08:42:49,435 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stdout | 2025-09-26 08:42:49,435 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 11-31 securityworker stdout | 2025-09-26 08:42:49,435 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stdout | 2025-09-26 08:42:49,436 [89] [DEBUG] [util.migrate.allocator] Total range: 10-36 securityworker stdout | 2025-09-26 08:42:49,436 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stdout | 2025-09-26 08:42:49,436 [89] [DEBUG] [util.migrate.allocator] Left range 11-31 securityworker stdout | 2025-09-26 08:42:49,436 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 31-36 securityworker stdout | 2025-09-26 08:42:49,436 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 31 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 19-27 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 11-19 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 11-19 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Merging with block 23-31 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Discarding 2 obsolete blocks securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Writing new block with range: 11-31 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 1 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 10-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 1 with 2 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Left range 11-31 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 31-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 31 securityworker stdout | 2025-09-26 08:42:49,436 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 37, 49, 338692), 31, 36]) securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 31-36 by worker securityworker stdout | 2025-09-26 08:42:49,440 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 31-36 by worker securityworker stdout | 2025-09-26 08:42:49,440 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 31-36 securityworker stdout | 2025-09-26 08:42:49,440 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 11-31 securityworker stdout | 2025-09-26 08:42:49,440 [89] [DEBUG] [util.migrate.allocator] Already merged with block 11-31 securityworker stdout | 2025-09-26 08:42:49,440 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 11 securityworker stdout | 2025-09-26 08:42:49,440 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stdout | 2025-09-26 08:42:49,441 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:42:49,441 [89] [DEBUG] [util.migrate.allocator] Total range: 10-11 securityworker stdout | 2025-09-26 08:42:49,441 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 31-36 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Merging with the prev range: 11-31 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Already merged with block 11-31 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 11 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Discarding 1 obsolete blocks securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 10-11 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selected random hole 0 with 1 total holes securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 10-11 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 10 securityworker stdout | 2025-09-26 08:42:49,441 [89] [DEBUG] [util.migrate.allocator] Selecting from hole range: 10-11 securityworker stdout | 2025-09-26 08:42:49,441 [89] [DEBUG] [util.migrate.allocator] Rand max bound: 10 securityworker stdout | 2025-09-26 08:42:49,441 [89] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."repository_id", "t1"."digest", "t1"."media_type_id", "t1"."manifest_bytes", "t1"."config_media_type", "t1"."layers_compressed_size", "t1"."subject", "t1"."subject_backfilled", "t1"."artifact_type", "t1"."artifact_type_backfilled", "t2"."id", "t2"."manifest_id", "t2"."repository_id", "t2"."index_status", "t2"."error_json", "t2"."last_indexed", "t2"."indexer_hash", "t2"."indexer_version", "t2"."metadata_json" FROM "manifest" AS "t1" INNER JOIN "manifestsecuritystatus" AS "t2" ON ("t2"."manifest_id" = "t1"."id") WHERE (((((("t2"."index_status" != %s) AND ("t2"."index_status" != %s)) AND ("t2"."indexer_hash" != %s)) AND ("t2"."last_indexed" < %s)) AND ("t1"."id" >= %s)) AND ("t1"."id" < %s)) ORDER BY "t1"."id"', [-2, -3, '37b46b4a70b6f1a19d5e4e18d21f57ff', datetime.datetime(2025, 9, 26, 8, 37, 49, 338692), 10, 18]) securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 10-18 by worker securityworker stdout | 2025-09-26 08:42:49,444 [89] [DEBUG] [util.migrate.allocator] No candidates, marking entire block completed 10-18 by worker securityworker stdout | 2025-09-26 08:42:49,444 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 10-18 securityworker stdout | 2025-09-26 08:42:49,444 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 10 securityworker stdout | 2025-09-26 08:42:49,444 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 18 securityworker stdout | 2025-09-26 08:42:49,444 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stdout | 2025-09-26 08:42:49,444 [89] [DEBUG] [util.migrate.allocator] Total range: 18-10 securityworker stdout | 2025-09-26 08:42:49,444 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:42:49,445 [89] [DEBUG] [data.database] Disconnecting from database. securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Marking the range completed: 10-18 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new max to: 10 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Discarding block and setting new min to: 18 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total blocks: 0 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] Total range: 18-10 securityworker stderr | 2025-09-26 08:42:49 [89] [DEBUG] [util.migrate.allocator] No more work by worker securityworker stdout | 2025-09-26 08:42:49,445 [89] [INFO] [apscheduler.executors.default] Job "SecurityWorker._index_in_scanner (trigger: interval[0:00:30], next run at: 2025-09-26 08:43:19 GMT)" executed successfully gunicorn-secscan stdout | 2025-09-26 08:42:49,782 [228] [INFO] [gunicorn.access] - - [26/Sep/2025:08:42:49 +0000] "POST /secscan/notification HTTP/1.0" 400 0 "-" "-" nginx stdout | 10.129.4.11 (-) - - [26/Sep/2025:08:42:49 +0000] "POST /secscan/notification HTTP/1.1" 400 171 "-" "clair/v4.8.0 (user) (claircore v1.5.32)" (0.001 961 0.001) logrotateworker stdout | 2025-09-26 08:42:50,527 [62] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'logrotateworker.py', 'pid': '62'} exportactionlogsworker stdout | 2025-09-26 08:42:50,940 [56] [DEBUG] [apscheduler.scheduler] Looking for jobs to run exportactionlogsworker stdout | 2025-09-26 08:42:50,940 [56] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:43:45.946993+00:00 (in 55.006263 seconds) exportactionlogsworker stdout | 2025-09-26 08:42:50,940 [56] [INFO] [apscheduler.executors.default] Running job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:50 GMT)" (scheduled at 2025-09-26 08:42:50.940190+00:00) exportactionlogsworker stdout | 2025-09-26 08:42:50,941 [56] [DEBUG] [workers.queueworker] Getting work item from queue. exportactionlogsworker stdout | 2025-09-26 08:42:50,941 [56] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."queue_name", "t1"."body", "t1"."available_after", "t1"."available", "t1"."processing_expires", "t1"."retries_remaining", "t1"."state_id" FROM "queueitem" AS "t1" INNER JOIN (SELECT "t1"."id" FROM "queueitem" AS "t1" WHERE (((("t1"."available_after" <= %s) AND (("t1"."available" = %s) OR ("t1"."processing_expires" <= %s))) AND ("t1"."retries_remaining" > %s)) AND ("t1"."queue_name" ILIKE %s)) LIMIT %s) AS "j1" ON ("t1"."id" = "j1"."id") ORDER BY Random() LIMIT %s OFFSET %s', [datetime.datetime(2025, 9, 26, 8, 42, 50, 941119), True, datetime.datetime(2025, 9, 26, 8, 42, 50, 941119), 0, 'exportactionlogs/%', 50, 1, 0]) exportactionlogsworker stdout | 2025-09-26 08:42:50,954 [56] [DEBUG] [workers.queueworker] No more work. exportactionlogsworker stdout | 2025-09-26 08:42:50,954 [56] [DEBUG] [data.database] Disconnecting from database. exportactionlogsworker stdout | 2025-09-26 08:42:50,954 [56] [INFO] [apscheduler.executors.default] Job "QueueWorker.poll_queue (trigger: interval[0:01:00], next run at: 2025-09-26 08:43:50 GMT)" executed successfully gcworker stdout | 2025-09-26 08:42:51,444 [57] [DEBUG] [apscheduler.scheduler] Looking for jobs to run gcworker stdout | 2025-09-26 08:42:51,444 [57] [DEBUG] [apscheduler.scheduler] Next wakeup is due at 2025-09-26 08:43:04.439268+00:00 (in 12.994342 seconds) gcworker stdout | 2025-09-26 08:42:51,445 [57] [INFO] [apscheduler.executors.default] Running job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:43:21 GMT)" (scheduled at 2025-09-26 08:42:51.444401+00:00) gcworker stdout | 2025-09-26 08:42:51,445 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."name" FROM "externalnotificationevent" AS "t1" WHERE ("t1"."name" = %s) LIMIT %s OFFSET %s', ['repo_image_expiry', 1, 0]) gcworker stdout | 2025-09-26 08:42:51,457 [57] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."method_id", "t1"."repository_id", "t1"."event_config_json" FROM "repositorynotification" AS "t1" WHERE ((("t1"."event_id" = %s) AND ("t1"."number_of_failures" < %s)) AND (("t1"."last_ran_ms" < %s) OR ("t1"."last_ran_ms" IS %s))) ORDER BY "t1"."last_ran_ms" ASC NULLS first LIMIT %s OFFSET %s FOR UPDATE SKIP LOCKED', [11, 3, 1758875871457, None, 1, 0]) gcworker stdout | 2025-09-26 08:42:51,461 [57] [DEBUG] [data.database] Disconnecting from database. gcworker stdout | 2025-09-26 08:42:51,462 [57] [INFO] [apscheduler.executors.default] Job "GarbageCollectionWorker._scan_notifications (trigger: interval[0:00:30], next run at: 2025-09-26 08:43:21 GMT)" executed successfully buildlogsarchiver stdout | 2025-09-26 08:42:51,594 [52] [DEBUG] [util.metrics.prometheus] pushed registry to pushgateway at http://localhost:9091 with grouping key {'host': 'quayregistry-quay-app-56c546d756-5xfsr', 'process_name': 'buildlogsarchiver.py', 'pid': '52'}